Espada de Sheris Wiki espadadesheris_en https://espadadesheris.wiki.gg/ MediaWiki 1.43.5 first-letter Media Special Talk User User talk Espada de Sheris Wiki Espada de Sheris Wiki talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Module Module talk Espada de Sheris Wiki 0 1 1 2021-11-29T15:17:56Z MediaWiki default 0 wikitext text/x-wiki <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 5702e4d5fd9173246331a889294caf01a3ad3706 42 1 2024-02-04T03:52:23Z Westgrass 40 Westgrass moved page [[Main Page]] to [[Espada de Sheris Wiki]] wikitext text/x-wiki <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 5702e4d5fd9173246331a889294caf01a3ad3706 44 42 2024-02-04T03:52:29Z Westgrass 40 Protected "[[Espada de Sheris Wiki]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 5702e4d5fd9173246331a889294caf01a3ad3706 Template:Extension DPL 10 2 2 2022-12-18T00:55:51Z DynamicPageList3 extension 44285 Autogenerated DPL's necessary template for content inclusion wikitext text/x-wiki <noinclude>This page was automatically created. It serves as an anchor page for all '''[[Special:WhatLinksHere/Template:Extension_DPL|invocations]]''' of [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:DynamicPageList3 Extension:DynamicPageList3].</noinclude> 087ffd4625ae7b1fea3436ec3f929e82ee739d29 MediaWiki:Privacy 8 3 3 2023-12-24T04:11:30Z Pcj 1919 Created page with "-" wikitext text/x-wiki - 3bc15c8aae3e4124dd409035f32ea2fd6835efc9 MediaWiki:Disclaimers 8 4 4 2023-12-24T04:11:45Z Pcj 1919 Created page with "-" wikitext text/x-wiki - 3bc15c8aae3e4124dd409035f32ea2fd6835efc9 MediaWiki:Copyright 8 5 5 2023-12-24T04:12:09Z Pcj 1919 Created page with "<div><img src=https://commons.wiki.gg/images/f/ff/CC-BY-SA.svg /> Page content is under the <a href=https://creativecommons.org/licenses/by-sa/4.0>Creative Commons Attribution-ShareAlike 4.0 License</a> unless otherwise noted.</div>" wikitext text/x-wiki <div><img src=https://commons.wiki.gg/images/f/ff/CC-BY-SA.svg /> Page content is under the <a href=https://creativecommons.org/licenses/by-sa/4.0>Creative Commons Attribution-ShareAlike 4.0 License</a> unless otherwise noted.</div> 7290744eba73e7f9987d32ef26b3490f5bea3537 8 5 2024-02-04T03:49:15Z Westgrass 40 init wikitext text/x-wiki <img src=https://commons.wiki.gg/images/f/ff/CC-BY-SA.svg /> Page content is under the <a href=https://creativecommons.org/licenses/by-sa/4.0>Creative Commons Attribution-ShareAlike 4.0 License</a> unless otherwise noted. 5e5a9edc3c58c2677e73e18e82ecf4c649528172 MediaWiki:Pagetitle 8 6 6 2024-02-04T03:49:04Z Westgrass 40 init wikitext text/x-wiki $1 - Official {{SITENAME}} 57033220011e307a12da880f313762b28dee374e MediaWiki:Pagetitle-view-mainpage 8 7 7 2024-02-04T03:49:10Z Westgrass 40 init wikitext text/x-wiki Official {{SITENAME}} c2d59ee45ea02d10b205a5d70873df285c4a3f46 Template:License 10 8 9 2024-02-04T03:49:33Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div style="border: 1px solid var(--theme-border-accent) padding: 5px; display: flex;"> {{License/{{{1|nolicense}}}}}{{#if:{{{source|}}}|<div>Source:&nbsp;{{{source|}}}</div>}} </div> </includeonly> <noinclude>{{documentation}}</noinclude> c16a822de118666bde2231909baa3239c25e16b8 10 9 2024-02-04T03:49:36Z Westgrass 40 Protected "[[Template:License]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div style="border: 1px solid var(--theme-border-accent) padding: 5px; display: flex;"> {{License/{{{1|nolicense}}}}}{{#if:{{{source|}}}|<div>Source:&nbsp;{{{source|}}}</div>}} </div> </includeonly> <noinclude>{{documentation}}</noinclude> c16a822de118666bde2231909baa3239c25e16b8 Template:License/CC-BY 10 9 11 2024-02-04T03:49:42Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY.svg|x50px|link=https://creativecommons.org/licenses/by/3.0/|CC-BY]]</div> <div>This file is under the [https://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 8069f8bb141c87273ec4101c1043b5ebda7f788f 12 11 2024-02-04T03:49:45Z Westgrass 40 Protected "[[Template:License/CC-BY]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY.svg|x50px|link=https://creativecommons.org/licenses/by/3.0/|CC-BY]]</div> <div>This file is under the [https://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 8069f8bb141c87273ec4101c1043b5ebda7f788f Template:License/CC-BY-NC 10 10 13 2024-02-04T03:49:50Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC.svg|x50px|link=https://creativecommons.org/licenses/by-nc/3.0/|CC-BY-NC]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc/3.0/ Creative Commons Attribution-NonCommercial 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ea0a9e3d46ba08c4fc31750a92bd1000046c3b37 14 13 2024-02-04T03:49:54Z Westgrass 40 Protected "[[Template:License/CC-BY-NC]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC.svg|x50px|link=https://creativecommons.org/licenses/by-nc/3.0/|CC-BY-NC]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc/3.0/ Creative Commons Attribution-NonCommercial 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ea0a9e3d46ba08c4fc31750a92bd1000046c3b37 Template:License/CC-BY-NC-ND 10 11 15 2024-02-04T03:49:59Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nc-nd/3.0/|CC-BY-NC-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-nd/3.0/ Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 34141db8517bdc0dcec13dad55e1a4b76778b038 16 15 2024-02-04T03:50:03Z Westgrass 40 Protected "[[Template:License/CC-BY-NC-ND]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nc-nd/3.0/|CC-BY-NC-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-nd/3.0/ Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 34141db8517bdc0dcec13dad55e1a4b76778b038 Template:License/CC-BY-NC-SA 10 12 17 2024-02-04T03:50:09Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-SA.svg|x50px|link=https://creativecommons.org/licenses/by-nc-sa/3.0/|CC-BY-NC-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-sa/3.0/ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 1b70c35de443490cae40bd3375108d2c0b931705 18 17 2024-02-04T03:50:13Z Westgrass 40 Protected "[[Template:License/CC-BY-NC-SA]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-SA.svg|x50px|link=https://creativecommons.org/licenses/by-nc-sa/3.0/|CC-BY-NC-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-sa/3.0/ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 1b70c35de443490cae40bd3375108d2c0b931705 Template:License/CC-BY-ND 10 13 19 2024-02-04T03:50:18Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nd/3.0/|CC-BY-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nd/3.0/ Creative Commons Attribution-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f9b4fa878dcfec21a01a7ce346c46eddf2f66f42 20 19 2024-02-04T03:50:23Z Westgrass 40 Protected "[[Template:License/CC-BY-ND]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nd/3.0/|CC-BY-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nd/3.0/ Creative Commons Attribution-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f9b4fa878dcfec21a01a7ce346c46eddf2f66f42 Template:License/CC-BY-SA 10 14 21 2024-02-04T03:50:30Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-SA.svg|x50px|link=https://creativecommons.org/licenses/by-sa/3.0/|CC-BY-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 9f75f45e0ceff1c07d2368f2ec75494cce86b567 22 21 2024-02-04T03:50:33Z Westgrass 40 Protected "[[Template:License/CC-BY-SA]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-SA.svg|x50px|link=https://creativecommons.org/licenses/by-sa/3.0/|CC-BY-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 9f75f45e0ceff1c07d2368f2ec75494cce86b567 Template:License/CC-PD 10 15 23 2024-02-04T03:50:39Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-PD.svg|x50px|link=|Public Domain]]</div> <div>This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ffd7439180f2c581fc09906bc9f1714c0952a864 24 23 2024-02-04T03:50:42Z Westgrass 40 Protected "[[Template:License/CC-PD]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-PD.svg|x50px|link=|Public Domain]]</div> <div>This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ffd7439180f2c581fc09906bc9f1714c0952a864 Template:License/CC-SRR 10 16 25 2024-02-04T03:50:47Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-SRR.svg|link=|CC-Some Rights Reserved]]</div> <div>This file is under the Creative Commons Some Rights Reserved License.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> cd49dbdaf1d4290117a115931288884ac9b62a46 26 25 2024-02-04T03:50:51Z Westgrass 40 Protected "[[Template:License/CC-SRR]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-SRR.svg|link=|CC-Some Rights Reserved]]</div> <div>This file is under the Creative Commons Some Rights Reserved License.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> cd49dbdaf1d4290117a115931288884ac9b62a46 Template:License/CC0 10 17 27 2024-02-04T03:50:56Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-0.svg|x50px|link=https://creativecommons.org/publicdomain/zero/1.0/|CC0]]</div> <div>This file is under the [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f3fd76302622675395a422cf984a2f7ea93d151f 28 27 2024-02-04T03:50:59Z Westgrass 40 Protected "[[Template:License/CC0]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-0.svg|x50px|link=https://creativecommons.org/publicdomain/zero/1.0/|CC0]]</div> <div>This file is under the [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f3fd76302622675395a422cf984a2f7ea93d151f Template:License/Fairuse 10 18 29 2024-02-04T03:51:16Z Westgrass 40 init wikitext text/x-wiki #REDIRECT [[Template:License/fairuse]] a42c85d61fbfdfbdfdaf2ff6f9b80994b2f6ddb3 30 29 2024-02-04T03:51:23Z Westgrass 40 Protected "[[Template:License/Fairuse]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki #REDIRECT [[Template:License/fairuse]] a42c85d61fbfdfbdfdaf2ff6f9b80994b2f6ddb3 Template:License/SketBR Nut Mountain Heart 10 19 31 2024-02-04T03:51:28Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is owned by [https://gamejolt.com/@SketBR SketBR Nut Mountain Heart] and/or its licensors, and is licensed under the SketBR Nut Mountain Heart [[MediaWiki:Terms of Use|Terms of Use]].<br/> All trademarks and registered trademarks present in the file are proprietary to SketBR Nut Mountain Heart and/or its licensors. </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 14e35f45ac8531318996a7611cd9d3e6459a32e8 32 31 2024-02-04T03:51:32Z Westgrass 40 Protected "[[Template:License/SketBR Nut Mountain Heart]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is owned by [https://gamejolt.com/@SketBR SketBR Nut Mountain Heart] and/or its licensors, and is licensed under the SketBR Nut Mountain Heart [[MediaWiki:Terms of Use|Terms of Use]].<br/> All trademarks and registered trademarks present in the file are proprietary to SketBR Nut Mountain Heart and/or its licensors. </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 14e35f45ac8531318996a7611cd9d3e6459a32e8 Template:License/doc 10 20 33 2024-02-04T03:51:37Z Westgrass 40 init wikitext text/x-wiki This template is to be used in a Licensing heading on file pages to denote the file's license. '''All acceptable first parameter examples:''' <nowiki>{{License|SketBR Nut Mountain Heart}}</nowiki> {{License|SketBR Nut Mountain Heart}} <nowiki>{{License|Fairuse}}</nowiki> {{License|Fairuse}} <nowiki>{{License|CC0}}</nowiki> {{License|CC0}} <nowiki>{{License|CC-BY-NC-ND}}</nowiki> {{License|CC-BY-NC-ND}} <nowiki>{{License|CC-BY-NC-SA}}</nowiki> {{License|CC-BY-NC-SA}} <nowiki>{{License|CC-BY-NC}}</nowiki> {{License|CC-BY-NC}} <nowiki>{{License|CC-BY-ND}}</nowiki> {{License|CC-BY-ND}} <nowiki>{{License|CC-BY-SA}}</nowiki> {{License|CC-BY-SA}} <nowiki>{{License|CC-BY}}</nowiki> {{License|CC-BY}} <nowiki>{{License|CC-PD}}</nowiki> {{License|CC-PD}} <nowiki>{{License|CC-SRR}}</nowiki> {{License|CC-SRR}} '''Providing no parameter (or invalid one) defaults to the nolicense notice:''' <nowiki>{{License}}</nowiki>{{License}} '''Source parameter (optional):''' The source parameter accepts a url to the source where the file came from if necessary for attribution. Example: <nowiki>{{License|SketBR Nut Mountain Heart|source=https://wiki.gg/}}</nowiki> {{License|SketBR Nut Mountain Heart|source=https://wiki.gg/}} <includeonly> [[Category:License templates]] </includeonly> <noinclude> [[Category:Template documentation]] </noinclude> ad582a398d1f8fa88400eb606ef29e3a27ab948f 34 33 2024-02-04T03:51:41Z Westgrass 40 Protected "[[Template:License/doc]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki This template is to be used in a Licensing heading on file pages to denote the file's license. '''All acceptable first parameter examples:''' <nowiki>{{License|SketBR Nut Mountain Heart}}</nowiki> {{License|SketBR Nut Mountain Heart}} <nowiki>{{License|Fairuse}}</nowiki> {{License|Fairuse}} <nowiki>{{License|CC0}}</nowiki> {{License|CC0}} <nowiki>{{License|CC-BY-NC-ND}}</nowiki> {{License|CC-BY-NC-ND}} <nowiki>{{License|CC-BY-NC-SA}}</nowiki> {{License|CC-BY-NC-SA}} <nowiki>{{License|CC-BY-NC}}</nowiki> {{License|CC-BY-NC}} <nowiki>{{License|CC-BY-ND}}</nowiki> {{License|CC-BY-ND}} <nowiki>{{License|CC-BY-SA}}</nowiki> {{License|CC-BY-SA}} <nowiki>{{License|CC-BY}}</nowiki> {{License|CC-BY}} <nowiki>{{License|CC-PD}}</nowiki> {{License|CC-PD}} <nowiki>{{License|CC-SRR}}</nowiki> {{License|CC-SRR}} '''Providing no parameter (or invalid one) defaults to the nolicense notice:''' <nowiki>{{License}}</nowiki>{{License}} '''Source parameter (optional):''' The source parameter accepts a url to the source where the file came from if necessary for attribution. Example: <nowiki>{{License|SketBR Nut Mountain Heart|source=https://wiki.gg/}}</nowiki> {{License|SketBR Nut Mountain Heart|source=https://wiki.gg/}} <includeonly> [[Category:License templates]] </includeonly> <noinclude> [[Category:Template documentation]] </noinclude> ad582a398d1f8fa88400eb606ef29e3a27ab948f Template:License/fairuse 10 21 35 2024-02-04T03:51:46Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is copyrighted. It will be used in a way that qualifies as fair use under [https://en.wikipedia.org/wiki/Fair_use#Fair_use_under_United_States_law US copyright law].<br/> </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> a65683c6dedb8a7e7a7cace39dfa957345d1325c 36 35 2024-02-04T03:51:50Z Westgrass 40 Protected "[[Template:License/fairuse]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is copyrighted. It will be used in a way that qualifies as fair use under [https://en.wikipedia.org/wiki/Fair_use#Fair_use_under_United_States_law US copyright law].<br/> </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> a65683c6dedb8a7e7a7cace39dfa957345d1325c Template:License/nolicense 10 22 37 2024-02-04T03:51:56Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:Warning-red.svg|50px|link=|No License has been selected.]]</div> <div>Please select the proper License for this file by adding the proper parameter to <nowiki>{{License}}</nowiki>. See [[Template:License]] for details.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> e5aed440bcde4a2d7633edef8640c90228fc24a6 38 37 2024-02-04T03:52:00Z Westgrass 40 Protected "[[Template:License/nolicense]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:Warning-red.svg|50px|link=|No License has been selected.]]</div> <div>Please select the proper License for this file by adding the proper parameter to <nowiki>{{License}}</nowiki>. See [[Template:License]] for details.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> e5aed440bcde4a2d7633edef8640c90228fc24a6 Category:Templates 14 23 39 2024-02-04T03:52:06Z Westgrass 40 init wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 Category:Espada de Sheris Wiki 14 24 40 2024-02-04T03:52:13Z Westgrass 40 init wikitext text/x-wiki This is the root category for everything on The {{SITENAME}}. eaccd6ba79f8609ec20cb92a31a9468a40c7bfae MediaWiki:Mainpage 8 25 41 2024-02-04T03:52:18Z Westgrass 40 init wikitext text/x-wiki {{SITENAME}} 3879910e8b355a24373fd09ccc909145b2639907 Main Page 0 26 43 2024-02-04T03:52:23Z Westgrass 40 Westgrass moved page [[Main Page]] to [[Espada de Sheris Wiki]] wikitext text/x-wiki #REDIRECT [[Espada de Sheris Wiki]] dbbc6ca0284967ceb6000bb791a1303ac3aaba60 MediaWiki:Common.js 8 27 45 2024-02-04T03:52:34Z Westgrass 40 init javascript text/javascript mw.loader.getScript( 'https://commons.wiki.gg/index.php?title=MediaWiki:Common-base.js&action=raw&ctype=text/javascript' ).then(function(){ //////////////////////////////////////////////////////////////////////////////// $('<div class="menu-toggle"/>').insertAfter($('#p-logo')).on("click", function(event){ event.stopPropagation(); $(this).toggleClass('expanded'); }); //////////////////////////////////////////////////////////////////////////////// /*end of mw.loader.getScript().then callback*/ }); 60b6d7c2f3fbd37763cf37577fcf53e36c6cb15d Template:InfoboxGame 10 28 46 2024-02-04T03:52:41Z Westgrass 40 init wikitext text/x-wiki <includeonly><infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <data source="developer"> <label>Developer</label> </data> <data source="publisher"> <label>Publisher</label> </data> <data source="release"> <label>Release date</label> </data> <data source="platform"> <label>Platform</label> </data> </infobox></includeonly><noinclude> Usage:<pre> {{InfoboxGame |title= |image= |caption= |developer= |publisher= |release= |platform= }} </pre> [[Category:Infobox templates]]</noinclude> ce818e81bba1bab2e1192621b9a8fd4fc7ebe332 Category:Infobox templates 14 29 47 2024-02-04T03:52:47Z Westgrass 40 init wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Template:Stub 10 30 48 2024-02-04T03:52:52Z Westgrass 40 init wikitext text/x-wiki <div class="hat-note" style="border: 1px solid #ff6666;padding: 0.5em;margin-bottom:1em">[[File:Edit-clear.svg|24px|link=]] This content is a [[:Category:Stubs|stub]]. You can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding it]. </div> <includeonly>{{{category|[[Category:Stubs]]}}}</includeonly><noinclude> == Usage == <nowiki>{{stub}}</nowiki> </noinclude> 0fb3c45d8b6db670390d02f9e2689d7a93caa423 Category:Stubs 14 31 49 2024-02-04T03:52:58Z Westgrass 40 init wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 File:Site-favicon.ico 6 32 50 2024-02-04T03:53:04Z Westgrass 40 init wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 File:Site-favicon.ico 6 32 51 50 2024-02-04T03:53:08Z Westgrass 40 Protected "[[File:Site-favicon.ico]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 74 51 2024-02-04T04:09:08Z Westgrass 40 Westgrass uploaded [[File:Site-favicon.ico]] wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 File:Site-logo.png 6 33 52 2024-02-04T03:53:13Z Westgrass 40 init wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 53 52 2024-02-04T03:53:18Z Westgrass 40 Protected "[[File:Site-logo.png]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 75 53 2024-02-04T04:11:03Z Westgrass 40 Westgrass uploaded [[File:Site-logo.png]] wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 99 75 2024-12-09T21:49:21Z RheingoldRiver 2743 Changed protection settings for "[[File:Site-logo.png]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 File:Site-background.jpg 6 34 54 2024-02-04T03:53:22Z Westgrass 40 init wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 55 54 2024-02-04T03:53:27Z Westgrass 40 Protected "[[File:Site-background.jpg]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 File:Keyart.jpg 6 35 56 2024-02-04T03:53:31Z Westgrass 40 init wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 83 56 2024-02-04T05:41:27Z Westgrass 40 Westgrass uploaded [[File:Keyart.jpg]] wikitext text/x-wiki {{license|SketBR Nut Mountain Heart}} [[Category:Images]] 9e9ce967a17adda655800ccadd2ecaf0f1ea0047 Category:Images 14 36 57 2024-02-04T03:53:36Z Westgrass 40 init wikitext text/x-wiki [[Category:Files]] 1f84c024fe622583c7d1508e23a1789fec0b4def Category:Files 14 37 58 2024-02-04T03:53:42Z Westgrass 40 init wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 Espada de Sheris 0 38 59 2024-02-04T03:53:48Z Westgrass 40 init wikitext text/x-wiki {{stub}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=[https://gamejolt.com/@SketBR SketBR Nut Mountain Heart] |publisher=[https://gamejolt.com/@SketBR SketBR Nut Mountain Heart] |release= |platform=PC }} '''Espada de Sheris''' is a game. [[Category:Espada de Sheris| ]] f60866800f674df90ade8c969d628175ec4096e4 86 59 2024-02-04T05:43:41Z Westgrass 40 wikitext text/x-wiki {{stub}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=[https://gamejolt.com/@SketBR SketBR Nut Mountain Heart] |publisher=[https://gamejolt.com/@SketBR SketBR Nut Mountain Heart] |release= |platform=PC }} '''Espada de Sheris''' (シェリスのけん) is a Brazilian/Japanese indie narrative, 2D action-platformer with parkour elements where you control a European ninja cat named Kibo who must save the earth from evil masked duzkers in a post-apocalypse land from the year 4000. [[Category:Espada de Sheris| ]] dde598ade34213b79e3d1d143cdb085a82ce3ef2 93 86 2024-04-28T07:42:44Z JustLeafy 396175 wikitext text/x-wiki {{stub}} {{DISPLAYTITLE:''Espada de Sheris''}} {{InfoboxGame |title=Espada de Sheris |image=keyart.jpg |caption=Game keyart |developer=[https://gamejolt.com/@SketBR SketBR Nut Mountain Heart] |publisher=[https://gamejolt.com/@SketBR SketBR Nut Mountain Heart] |release= |platform=PC }} '''''Espada de Sheris''''' (シェリスのけん) is a Brazilian/Japanese indie narrative, 2D action-platformer with parkour elements where you control a European ninja cat named Kibo who must save the earth from evil masked duzkers in a post-apocalypse land from the year 4000. == External links == *[https://gamejolt.com/games/eds/828235 Espada de Sheris on GameJolt] [[Category:Espada de Sheris| ]] fb72867da286d5dafe81cea4bc1078692d1c69f3 Category:Espada de Sheris 14 39 60 2024-02-04T03:53:54Z Westgrass 40 init wikitext text/x-wiki [[category:{{SITENAME}}]] 442656d773d97baea47f62cc8dcee3fda0f995ed Category:Screenshots 14 40 61 2024-02-04T03:54:00Z Westgrass 40 init wikitext text/x-wiki [[Category:Images]] 8820b63e35aedd9d2666fe40b965d4e91ce0a106 MediaWiki:Gadgets-definition 8 41 62 2024-02-04T03:54:04Z Westgrass 40 init wikitext text/x-wiki == default-gadgets == * previewTab[ResourceLoader|default|dependencies=mediawiki.api|type=general]|previewTab.js|previewTab.css * linkPurge[ResourceLoader|default|type=general]|linkPurge.js * UserProfile[ResourceLoader|default|dependencies=mediawiki.api|rights=edit]|UserProfile.js|UserProfile.css * multiupload[ResourceLoader|default]|multiupload.js 3186863480deb150cde83ce3d2d146cd5aa3b2bb MediaWiki:Gadget-section-default-gadgets 8 42 63 2024-02-04T03:54:07Z Westgrass 40 init wikitext text/x-wiki Default Gadgets 6fc7468a16c085a721b999b2fb8835a90bdc4b5f MediaWiki:Gadget-previewTab 8 43 64 2024-02-04T03:54:11Z Westgrass 40 init wikitext text/x-wiki Preview Tab: <abbr title="This gadget is enabled by default."><i>Default gadget</i></abbr>. Re-adds the Wikitext/Preview/Changes tabs to editor that were removed in the MediaWiki 1.31 upgrade. 74a761f21ba4349a91d6e2cc5b66a80dec16cd93 MediaWiki:Gadget-previewTab.js 8 44 65 2024-02-04T03:54:15Z Westgrass 40 init javascript text/javascript /* v1.2, By Westgrass https://terraria.wiki.gg/User:Westgrass */ $(document).ready(function (){ if(((mw.config.get('wgAction') != 'edit')&&(mw.config.get('wgAction') != 'submit'))||(mw.config.get('wgPageContentModel')) != 'wikitext'){ return; } //localization. var $text_wikitext = { 'en': 'Wikitext', 'de': 'Wikitext', 'fr': 'Wikitexte', 'pt': 'Wikitexto', 'pt-br': 'Wikitexto', 'zh': '维基文本', 'zh-cn': '维基文本' } var $text_preview = { 'en': 'Preview', 'de': 'Vorschau', 'fr': 'Prévisualiser', 'pt': 'Antever', 'pt-br': 'Pré-visualizar', 'zh': '预览', 'zh-cn': '预览' } var $text_changes = { 'en': 'Changes', 'de': 'Änderungen', 'fr': 'Modifications', 'pt': 'Alteraçãos', 'pt-br': 'Alterações', 'zh': '差异', 'zh-cn': '差异' } var $text_nochanges = { 'en': 'No change', 'de': 'Keine Änderungen', 'fr': 'Aucune modification', 'pt': 'Nenhuma alteração', 'pt-br': 'Nenhuma alteração', 'zh': '无差异', 'zh-cn': '无差异' } $('#editform').before('<div id="wiki-editor-tabs"><div class="wikitext">'+($text_wikitext[mw.config.get( 'wgUserLanguage' )]||'Wikitext')+'</div><div class="preview">'+($text_preview[mw.config.get( 'wgUserLanguage' )]||'Preview')+'</div><div class="changes">'+($text_changes[mw.config.get( 'wgUserLanguage' )]||'Changes')+'</div></div>'); var $wikitext_button = $('#wiki-editor-tabs .wikitext').addClass('current'); var $preview_button = $('#wiki-editor-tabs .preview'); var $changes_button = $('#wiki-editor-tabs .changes'); $('#editform').before('<div id="wiki-editor-tabs-preview"><div class="sk-fading-circle"><div class="sk-circle1 sk-circle"></div><div class="sk-circle2 sk-circle"></div><div class="sk-circle3 sk-circle"></div><div class="sk-circle4 sk-circle"></div><div class="sk-circle5 sk-circle"></div><div class="sk-circle6 sk-circle"></div><div class="sk-circle7 sk-circle"></div><div class="sk-circle8 sk-circle"></div><div class="sk-circle9 sk-circle"></div><div class="sk-circle10 sk-circle"></div><div class="sk-circle11 sk-circle"></div><div class="sk-circle12 sk-circle"></div></div><div class="contents"></div></div><div id="wiki-editor-tabs-changes"><div class="sk-fading-circle"><div class="sk-circle1 sk-circle"></div><div class="sk-circle2 sk-circle"></div><div class="sk-circle3 sk-circle"></div><div class="sk-circle4 sk-circle"></div><div class="sk-circle5 sk-circle"></div><div class="sk-circle6 sk-circle"></div><div class="sk-circle7 sk-circle"></div><div class="sk-circle8 sk-circle"></div><div class="sk-circle9 sk-circle"></div><div class="sk-circle10 sk-circle"></div><div class="sk-circle11 sk-circle"></div><div class="sk-circle12 sk-circle"></div></div><div class="contents"></div></div>'); var $preview_loading = $('#wiki-editor-tabs-preview > div.sk-fading-circle').first(); var $preview_content = $('#wiki-editor-tabs-preview > div.contents').first(); var $changes_loading = $('#wiki-editor-tabs-changes > div.sk-fading-circle').first(); var $changes_content = $('#wiki-editor-tabs-changes > div.contents').first(); var $preview_api = new mediaWiki.Api(); var $changes_api = new mediaWiki.Api(); mw.loader.using( 'mediawiki.diff.styles' ); $wikitext_button.on('click', function(){ $preview_api.abort(); $changes_api.abort(); $('.wikiEditor-ui').css('display', 'block'); $('#wiki-editor-tabs-preview').css('display', 'none'); $('#wiki-editor-tabs-changes').css('display', 'none'); $wikitext_button.addClass('current'); $preview_button.removeClass('current'); $changes_button.removeClass('current'); $preview_loading.css('display', 'block'); $preview_content.empty(); $changes_loading.css('display', 'block'); $changes_content.empty(); }); $preview_button.on('click', function(){ $preview_api.abort(); $changes_api.abort(); $wikitext_button.removeClass('current'); $preview_button.addClass('current'); $changes_button.removeClass('current'); $preview_loading.css('display', 'block'); $preview_content.empty(); $changes_loading.css('display', 'block'); $changes_content.empty(); var $editor = $('.wikiEditor-ui'); $editor.css('display', 'none'); $('#wiki-editor-tabs-preview').css('display', 'block').outerHeight($editor.outerHeight()); $('#wiki-editor-tabs-changes').css('display', 'none'); var wikitext = $('#wpTextbox1').val(); $preview_api.post( { formatversion: 2, action: 'parse', title: mw.config.get( 'wgPageName' ), text: wikitext, pst: '', prop: 'text|modules|jsconfigvars', preview: true, disableeditsection: true, useskin: mw.config.get( 'skin' ), uselang: mw.config.get( 'wgUserLanguage' ) } ).done( function ( data ) { var loadmodules, $content; if ( !data.parse || !data.parse.text ) { return; } if ( data.parse.jsconfigvars ) { mw.config.set( data.parse.jsconfigvars ); } loadmodules = data.parse.modules.concat( data.parse.modulescripts, data.parse.modulestyles ); mw.loader.load( loadmodules ); $content = $preview_content .detach() .html( data.parse.text ); $content.append( '<div class="visualClear"></div>' ) .find( 'a:not([href^="#"])' ) .click( false ); $preview_loading.css('display', 'none'); $('#wiki-editor-tabs-preview').append( $content ); } ); }); $changes_button.on('click', function(){ $preview_api.abort(); $changes_api.abort(); $wikitext_button.removeClass('current'); $preview_button.removeClass('current'); $changes_button.addClass('current'); $preview_loading.css('display', 'block'); $preview_content.empty(); $changes_loading.css('display', 'block'); $changes_content.empty().html( '<table class="diff"><col class="diff-marker"/><col class="diff-content"/>' + '<col class="diff-marker"/><col class="diff-content"/><tbody/></table>' ); var $editor = $('.wikiEditor-ui'); $editor.css('display', 'none'); $('#wiki-editor-tabs-preview').css('display', 'none'); $('#wiki-editor-tabs-changes').css('display', 'block').outerHeight($editor.outerHeight()); mw.loader.using( 'mediawiki.diff.styles' ); var wikitext = $('#wpTextbox1').val(); var section = $( '[name="wpSection"]' ).val(); var postdata = { formatversion: 2, action: 'query', prop: 'revisions', titles: mw.config.get( 'wgPageName' ), rvdifftotext: wikitext, rvdifftotextpst: true, rvprop: '', rvsection: section === '' ? undefined : section }; $changes_api.post(postdata).done( function ( postResult ) { var diff; try { diff = postResult.query.pages[ 0 ] .revisions[ 0 ].diff.body; if (diff){ $changes_content.find( 'table.diff tbody' ) .html( diff ) .append( '<div class="visualClear"></div>' ); } else{ $changes_content.html( '<p style="text-align:center; font-style: italic;" class="note-text">('+($text_nochanges[mw.config.get( 'wgUserLanguage' )]||'No change')+')</p>' ) .append( '<div class="visualClear"></div>' ); } $changes_loading.css('display', 'none'); } catch ( e ) { // "data.blah is undefined" error, ignore } } ); }); }); d501df8885ff0d8741111b92c4090cd019961e93 MediaWiki:Gadget-previewTab.css 8 45 66 2024-02-04T03:54:18Z Westgrass 40 init css text/css #wiki-editor-tabs{ z-index: 10; position: relative; clear: both; } #wiki-editor-tabs div{ background: var(--theme-page-background-color--secondary); border: 1px solid var(--theme-border-color); padding: 0.5em 1em; display: inline-block; cursor: pointer; margin-right: -1px; margin-bottom: -1px; color: var(--theme-link-color); } #wiki-editor-tabs div.current{ background: var(--theme-page-background-color); border-bottom-color: var(--theme-page-background-color); color: var(--theme-page-text-color); } #wiki-editor-tabs-preview,#wiki-editor-tabs-changes{ border: 1px solid var(--theme-border-color); padding: 1em; z-index: 1; overflow: auto; display: none; } #editform{ z-index: 1; } /* from SpinKit: http://tobiasahlin.com/spinkit/ */ .sk-fading-circle { margin: 100px auto; width: 40px; height: 40px; position: relative; } .sk-fading-circle .sk-circle { width: 100%; height: 100%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: var(--theme-page-text-color); border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } 311c19f960153e080b7e390acc9dc9a5d16d6a9e MediaWiki:Gadget-linkPurge 8 46 67 2024-02-04T03:54:22Z Westgrass 40 init wikitext text/x-wiki Purge Link: <abbr title="This gadget is enabled by default."><i>Default gadget</i></abbr>. Adds a "Purge" link to the top of each page. When clicked, the server cache of the current page is cleared and refreshed. 4a25a321a8f17160dc4dafee99f56d7ba3ae4333 MediaWiki:Gadget-linkPurge.js 8 47 68 2024-02-04T03:54:26Z Westgrass 40 init javascript text/javascript var l10n = (function(){ var $text = { 'buttonlabel': { 'en': 'Purge', 'de': 'Aktualisieren', 'fr': 'Purger', 'ru': 'Обновить', 'pt': 'Actualizar', 'pt-br': 'Actualizar', 'zh': '刷新缓存' }, 'hovertext': { 'en': 'Purge the server cache for this page', 'de': 'Den Server-Cache dieser Seite löschen', 'fr': 'Purge le cache du serveur de cette page', 'ru': 'Очистить кэш сервера на этой странице', 'pt': 'Limpe o cache do servidor para esta página', 'pt-br': 'Limpe o cache do servidor para esta página', 'zh': '刷新此页面的服务器缓存' } } var $lang = mw.config.get( 'wgUserLanguage' ) || 'en'; return function(key){ return $text[key] && ($text[key][$lang] || $text[key]['en']) || ''; } })(); $(document).ready(function(){ var url = new URL(window.location.href); url.searchParams.set('action', 'purge'); mw.util.addPortletLink('p-cactions', url.href, l10n('buttonlabel'), 'ca-gadget-purgecache', l10n('hovertext'), '1'); }); 0f4d94767dd91f6b4a1a4c7f532b65748091aed7 MediaWiki:Gadget-UserProfile 8 48 69 2024-02-04T03:54:29Z Westgrass 40 init wikitext text/x-wiki Preview Tab: <abbr title="This gadget is enabled by default."><i>Default gadget</i></abbr>. Add some function to user profile page. 2fb4dab0a4aba6ee1256cb3dda11643f892e18c0 MediaWiki:Gadget-UserProfile.js 8 49 70 2024-02-04T03:54:33Z Westgrass 40 init javascript text/javascript mw.loader.using( [ 'mediawiki.api' ] ).done( function () { var username = mw.config.get('wgRelevantUserName'); var lang = mw.language.bcp47(mw.config.get('wgUserLanguage')); if ( username ) { const allUsergroupsOrdered = []; const dateOptions = { year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit", timeZone: "UTC", timeZoneName: "short" }; var api = new mw.Api(); api.get( { action: 'query', list: 'users', ususers: username, usprop: [ 'groups', 'editcount', 'registration', 'blockinfo' ] } ).done( function(data) { var user = data.query.users[0]; user.groups.splice(user.groups.indexOf('*'), 1); var groupList = user.groups.map( function(group) { var grouppage = '{{MediaWiki:grouppage-'+group+'}}'; return [ '{{#ifexist: '+grouppage+' | [['+grouppage+'|{{int:group-'+group+'}}]] | {{int:group-'+group+'}} }}', '{{#ifexist: '+grouppage+' | [['+grouppage+'|{{int:group-'+group+'-member|'+username+'}}]] | {{int:group-'+group+'-member|'+username+'}} }}' ]; } ).reduce( function(prev, cur) { prev[0].push(cur[0]); prev[1].push(cur[1]); return prev; }, [[], []] ); var text = '<div class="horse-userprofile-info">'; text += '\n\n<span>{{int:prefs-memberingroups|'+user.groups.length+'|'+username+'}}</span>\t<span>{{int:prefs-memberingroups-type|'+mw.language.listToText(groupList[0])+'|'+mw.language.listToText(groupList[1])+'}}</span>'; text += '\n\n<span>{{int:prefs-edits}}</span>\t<span>[[Special:Contribs/'+username+'|'+mw.language.convertNumber(user.editcount)+']]</span>'; text += '\n\n<span>{{int:prefs-registration}}</span>\t<span>'+mw.language.convertNumber(new Date(user.registration).toLocaleString(lang, dateOptions))+'</span>'; text += '\n\n</div>'; if ( user.blockid && mw.config.get('wgArticleId') !== 0 ) { var blockDate = new Date(user.blockedtimestamp); var blockexpiry = '{{int:infiniteblock}}'; if ( !['infinite', 'indefinite', 'infinity', 'never'].includes(user.blockexpiry) ) { var expiry = new Date(user.blockexpiry.replace( /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2,3})/, '$1-$2-$3T$4:$5:$6Z' )); var duration = expiry - blockDate; var blockDuration = []; var factor = 1000; if ( duration % factor === 0 ) blockDuration = ['duration-seconds', Math.floor(duration / factor)]; factor *= 60; if ( duration % factor === 0 ) blockDuration = ['duration-minutes', Math.floor(duration / factor)]; factor *= 60; if ( duration % factor === 0 ) blockDuration = ['duration-hours', Math.floor(duration / factor)]; factor *= 24; if ( duration % factor === 0 ) blockDuration = ['duration-days', Math.floor(duration / factor)]; if ( duration % (factor*7) === 0 ) blockDuration = ['duration-weeks', Math.floor(duration / (factor*7))]; if ( duration % (factor*30) === 0 ) blockDuration = ['months', Math.floor(duration / (factor*30))]; factor *= 365; if ( duration % factor === 0 ) blockDuration = ['duration-years', Math.floor(duration / factor)]; if ( duration % (factor*10) === 0 ) blockDuration = ['duration-decades', Math.floor(duration / (factor*10))]; if ( duration % (factor*100) === 0 ) blockDuration = ['duration-centuries', Math.floor(duration / (factor*100))]; if ( duration % (factor*1000) === 0 ) blockDuration = ['duration-millennia', Math.floor(duration / (factor*1000))]; if ( blockDuration.length < 2 || blockDuration[1] > 1000 ) blockexpiry = mw.language.convertNumber(expiry.toLocaleString(lang, dateOptions)); else blockexpiry = '{{int:'+blockDuration.join('|')+'}}'; } text += '<div class="horse-userprofile-block mw-warning-with-logexcerpt"><div>\n{{int:blocked-notice-logextract|'+username+'}}\n'; text += '* '+mw.language.convertNumber(blockDate.toLocaleString(lang, dateOptions))+' {{int:logentry-block-block|[[User:'+user.blockedby+'|'+user.blockedby+']] <span class="mw-usertoollinks mw-changeslist-links"><span>[[User talk:'+user.blockedby+'|{{int:talkpagelinktext}}]]</span> <span>[[Special:Contribs/'+user.blockedby+'|{{int:contribslink}}]]</span></span>|'+user.blockedby+'|[[User:'+username+'|'+username+']] <span class="mw-usertoollinks mw-changeslist-links"><span>[[User talk:'+username+'|{{int:talkpagelinktext}}]]</span> <span>[[Special:Contribs/'+username+'|{{int:contribslink}}]]</span></span>|'+username+'|'+blockexpiry+'|}} <span class="comment">{{int:parentheses|'+user.blockreason+'}}</span></div></div>'; } api.parse( text, { disablelimitreport: true, wrapoutputclass: 'horse-userprofile mw-message-box mw-content-'+$('#contentSub').attr('dir'), uselang: mw.config.get('wgUserLanguage') } ).done( function(parsedText) { $('#contentSub').append(parsedText.replace( /\u29FCgroup-([^\u29FC\u29FD]+?)(?:-member)?\u29FD/g, '$1' )); } ); } ); } } ); ce7d71d15f0855c5ffc2a2aead36e99da7cd64e2 MediaWiki:Gadget-UserProfile.css 8 50 71 2024-02-04T03:54:36Z Westgrass 40 init css text/css #contentSub > * + .horse-userprofile { margin-top: 1em; } .horse-userprofile { font-size: var(--font-size); color: var(--theme-text-color); padding: 6px 12px; } .horse-userprofile-info span:first-of-type { font-weight: bold; } 57f9280a5451e127405bcc5b42272996a2bf94b8 MediaWiki:Gadget-multiupload 8 51 72 2024-02-04T03:54:40Z Westgrass 40 init wikitext text/x-wiki Allows multiple file upload through [[Special:Upload]] c18d8757cec3234759babf2850b02905a6a4bdaa MediaWiki:Gadget-multiupload.js 8 52 73 2024-02-04T03:54:44Z Westgrass 40 init javascript text/javascript mw.loader.using(['site']).then(function() { i18n = { multiupload: "Upload multiple files:", yes: "Yes", no: "No", sourcefiles: "Source files:", uploadfiles: "Upload files", nofiles: "Please select some files first.", nolicense: "Please select a valid license first.", summary: "Summary", license: "License", uploading: "Uploading files...", uploaded: "Uploaded:", failed: "Failed:", done: "Done." }; if (mw.config.get("wgCanonicalSpecialPageName")!=="Upload") return; $("#wpUploadFile").parent().parent().addClass("regularFileSelect"); $("tr.regularFileSelect").before('<tr><td class="mw-label">'+i18n.multiupload+'</td><td class="mw-input"><label><input type="radio" name="multipleFiles" value="'+i18n.yes+'" /> '+i18n.yes+'</label> &nbsp; <label><input type="radio" name="multipleFiles" value="'+i18n.no+'" checked="" /> '+i18n.no+'</label></td></tr>'); $("tr.regularFileSelect").after('<tr class="multipleFileSelect" style="display:none;"><td class="mw-label">'+i18n.sourcefiles+'</td><td class="mw-input"><input type="file" id="multiupload" multiple /></td></tr>'); $("input[name='wpUpload']").addClass("regularFileSelect"); $("#wpDestFile").parent().parent().addClass("regularFileSelect"); $("#wpIgnoreWarning").parent().parent().addClass("regularFileSelect"); $("span.mw-htmlform-submit-buttons").append('<input type="button" value="'+i18n.uploadfiles+'" class="multipleFileSelect" style="display:none;" id="multiFileSubmit" />'); $("input[name='multipleFiles']").change(function(){ if (this.value===i18n.yes) { $(".regularFileSelect").hide(); $(".multipleFileSelect").show(); } else { $(".regularFileSelect").show(); $(".multipleFileSelect").hide(); } }); $("#multiFileSubmit").click(function() { files = $("#multiupload")[0].files; if (files.length === 0) { alert(i18n.nofiles); return false; } if ($("#wpLicense option:selected").val() === "") { alert(i18n.nolicense); return false; } summary = $("#wpUploadDescription").val(); if (summary !== "") summary = "== "+i18n.summary+" ==\n"+summary; license = "== "+i18n.license+" ==\n"+$("#wpLicense option:selected").prop("title"); text = summary + "\n" + license; watch = "preferences"; if ($("#wpWatchthis").is(":checked")) watch = "watch"; else watch = "nochange"; curFile = 0; $("#firstHeading").text(i18n.uploading); $("#mw-content-text").html("<h3>"+i18n.uploaded+"</h3><ul></ul><div style='display:none;' id='multiUploadFailed'><h3>"+i18n.failed+"</h3><ul></ul></div>"); function gNF() { if(curFile>files.length) { $("#mw-content-text").append("<h3>"+i18n.done+"</h3>"); return; } if(files[curFile] === undefined) { curFile++; gNF(); return; } $.ajax({url:'/api.php',data:{action:'query',meta:'tokens',format:'json'},dataType:'json'}).done(function(data) { fd = new FormData(); fd.append("action","upload"); fd.append("token",data.query.tokens.csrftoken); fd.append("filename",files[curFile].name); fd.append("file",files[curFile]); fd.append("text",text); fd.append("watchlist",watch); fd.append("ignorewarnings",1); fd.append("format","json"); $.ajax({ url:'/api.php', method:'POST', data:fd, cache:false, contentType:false, processData:false, type:'POST' }).done(function(d){ if (d.error == undefined) { $("#mw-content-text > ul").append('<li><a href="'+d.upload.imageinfo.descriptionurl+'" target="_blank">'+d.upload.filename+'</a></li>'); } else { $("#multiUploadFailed ul").append('<li>'+files[curFile].name+'</li>'); $("#multiUploadFailed").show(); } curFile++; gNF(); }).fail(function(d) { $("#multiUploadFailed ul").append('<li>'+files[curFile].name+'</li>'); $("#multiUploadFailed").show(); curFile++; gNF(); }); }); } gNF(); }); }); bbee7e49b69c0291c720b7adb6ca3d7d45672384 File:Site background.png 6 53 76 2024-02-04T05:02:10Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Site background-tree.png 6 54 77 2024-02-04T05:03:36Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Common.css 8 55 78 2024-02-04T05:04:34Z Westgrass 40 Created page with "/*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre {..." css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: calc(64px*6); --theme-site-logo-height: calc(20px*6); /*** site background ***/ --theme-site-background: url(/images/e/e4/Site_background-tree.png) center bottom / 100% auto no-repeat fixed, #2ce8f5 url(/images/8/84/Site_background.png) center bottom / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: #a90505; --pi-secondary-background--label: #fff; --pi-item-spacing: 1px 0px; --pi-label-text-color: #790b0b; --pi-label-background: linear-gradient(to right, rgba(206,129,129,0.3) 0,rgba(140,87,87,0.3) 100%,rgba(128,60,60,0.3)); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: 5px; } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } dc6ee4ea237c90c78cbd0b76d32fcc44830bd0a4 79 78 2024-02-04T05:08:31Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: calc(64px*6); --theme-site-logo-height: calc(20px*6); /*** site background ***/ --theme-site-background: url(/images/e/e4/Site_background-tree.png) center bottom / 100% auto no-repeat fixed, #2ce8f5 url(/images/8/84/Site_background.png) center bottom / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: #a90505; --pi-secondary-background--label: #fff; --pi-item-spacing: 1px 0px; --pi-label-text-color: #790b0b; --pi-label-background: linear-gradient(to right, rgba(206,129,129,0.3) 0,rgba(140,87,87,0.3) 100%,rgba(128,60,60,0.3)); } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: 5px; } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 49c4c9ded62e25b7c2534a118dda353ad5d01cda 80 79 2024-02-04T05:35:34Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: calc(64px*6); --theme-site-logo-height: calc(20px*6); /*** site background ***/ --theme-site-background: url(/images/e/e4/Site_background-tree.png) center bottom / 100% auto no-repeat fixed, #2ce8f5 url(/images/8/84/Site_background.png) center bottom / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #14a0cd; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.85),rgba(255,255,255,0.85)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #14a0cd; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffe65a; --theme-highlight-background: rgba(20, 160, 205, 0.2); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: #ffe65a; --pi-secondary-background--label: #14a0cd; --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: #ffe65a; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: 5px; } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 805d632c0be082ba72a22e80c74c92564e177bc4 81 80 2024-02-04T05:37:10Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: calc(64px*6); --theme-site-logo-height: calc(20px*6); /*** site background ***/ --theme-site-background: url(/images/e/e4/Site_background-tree.png) center bottom / 100% auto no-repeat fixed, #2ce8f5 url(/images/8/84/Site_background.png) center bottom / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #14a0cd; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.85),rgba(255,255,255,0.85)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0f7da1; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffe65a; --theme-highlight-background: rgba(20, 160, 205, 0.2); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: #ffe65a; --pi-secondary-background--label: #14a0cd; --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: #ffe65a; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: 5px; } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } da66d23a1ea02428809c9130aa47d41e31944df9 85 81 2024-02-04T05:43:27Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: calc(64px*6); --theme-site-logo-height: calc(20px*6); /*** site background ***/ --theme-site-background: url(/images/e/e4/Site_background-tree.png) center bottom / 100% auto no-repeat fixed, #2ce8f5 url(/images/8/84/Site_background.png) center bottom / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #14a0cd; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.85),rgba(255,255,255,0.85)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0f7da1; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffe65a; --theme-highlight-background: rgba(20, 160, 205, 0.2); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: #ffe65a; --pi-secondary-background--label: #14a0cd; --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: #ffe65a; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: 5px; } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 16px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } ec7315f4ef89ef5ed34477291745868e429e05ab 97 85 2024-06-30T05:07:36Z BotRiver 503139 Automated CSS update ([[support:MediaWiki 1.41 update|1.41 follow-up]]) css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: calc(64px*6); --theme-site-logo-height: calc(20px*6); /*** site background ***/ --theme-site-background: url(/images/e/e4/Site_background-tree.png) center bottom / 100% auto no-repeat fixed, #2ce8f5 url(/images/8/84/Site_background.png) center bottom / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #14a0cd; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.85),rgba(255,255,255,0.85)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #666; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #0f7da1; --theme-link-color-hover: var(--theme-link-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffe65a; --theme-highlight-background: rgba(20, 160, 205, 0.2); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: #ffe65a; --pi-secondary-background--label: #14a0cd; --pi-item-spacing: 1px 0px; --pi-label-text-color: var(--theme-text-color); --pi-label-background: #ffe65a; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height) - var(--theme-box-border-width)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] var(--layout-content-width) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/skins.vector.styles/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan { font-size: 1em; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } .portable-infobox { border: 1px solid var(--pi-border-color); padding: 5px; } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align: center; } .portable-infobox .pi-title { background: var(--pi-secondary-background); color: var(--pi-secondary-background--label); } .portable-infobox .pi-data { border-bottom: 0; gap: 8px; } .portable-infobox .pi-data-label { color: var(--pi-label-text-color); background: var(--pi-label-background); } .portable-infobox .pi-data-label, .portable-infobox .pi-data-value { padding: 6px; } .portable-infobox .pi-media-collection-tabs { gap: 8px; } .portable-infobox .pi-tab-link { border: 0; border-bottom: 2px solid transparent; } .portable-infobox .pi-media-collection .pi-tab-link.current { background: none; border-bottom-color: var(--pi-secondary-background); } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 16px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark #preferences .mw-htmlform-submit-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 47abf8528b3f88bc7d513221b15094e292072b3d Espada de Sheris Wiki 0 1 82 44 2024-02-04T05:40:42Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official <em>{{SITENAME}}</em></h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Espada de Sheris</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Espada de Sheris]] (シェリスのけん) is a Brazilian/Japanese indie narrative, 2D action-platformer with parkour elements where you control a European ninja cat named Kibo who must save the earth from evil masked duzkers in a post-apocalypse land from the year 4000.</p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * Parkour Levels * Hip Hop Music! * Nice Unique Pixel Graphics * Easy Character [[Controls]] * Free To Playb (F2P) * [[Chapters]] system <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <!--<div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div>--> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] beedacf029663ea6a5b8f1577e24f259037f9b08 MediaWiki:Sidebar 8 56 84 2024-02-04T05:42:21Z Westgrass 40 Created page with " * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Link ** https://gamejolt.com/games/eds/828235 | Play online * SEARCH * TOOLBOX * LANGUAGES" wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Link ** https://gamejolt.com/games/eds/828235 | Play online * SEARCH * TOOLBOX * LANGUAGES ff55d8aaf7f239c9c36f1a999cb9ae0deef8d157 File:Screenshot4.jpg 6 57 87 2024-02-04T05:45:16Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Screenshot3.jpg 6 58 88 2024-02-04T05:45:21Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Screenshot2.jpg 6 59 89 2024-02-04T05:45:25Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Screenshot1.jpg 6 60 90 2024-02-04T05:45:31Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Controls 0 61 91 2024-02-04T05:46:24Z Westgrass 40 Created page with "{{stub}} Controls: How play: W = Jump A = Left D = Right Enter = Attack" wikitext text/x-wiki {{stub}} Controls: How play: W = Jump A = Left D = Right Enter = Attack 67faced1d111aea259350e71fd2fd37983da0e0e 95 91 2024-04-28T07:44:36Z JustLeafy 396175 wikitext text/x-wiki {{stub}} This is a list of '''controls''' used to play ''[[Espada de Sheris]]'': {| class="article-table" ! Hotkey !! Action |- | {{Hotkey|W}} || Jump |- | {{Hotkey|A}} || Left |- | {{Hotkey|D}} || Right |- | {{Hotkey|Enter}} || Attack |} d23d95fc0f58bd4a56bfd4508e604781c7103855 96 95 2024-04-28T07:44:43Z JustLeafy 396175 wikitext text/x-wiki {{stub}} This is a list of '''controls''' used to play ''[[Espada de Sheris]]'': {| class="wikitable" ! Hotkey !! Action |- | {{Hotkey|W}} || Jump |- | {{Hotkey|A}} || Left |- | {{Hotkey|D}} || Right |- | {{Hotkey|Enter}} || Attack |} 96186a77e024af2afae3a19e84cf53dc47ab2aa4 Template:Hotkey 10 63 94 2024-04-28T07:43:41Z JustLeafy 396175 Created page with "<span class="hotkey" style="background-color: #222; border: 1px solid #111; box-shadow: 2px 2px 2px #333; color: white; font-size: 0.85em; padding: 1px 3px; margin-right: 3px;">{{{1}}}</span>" wikitext text/x-wiki <span class="hotkey" style="background-color: #222; border: 1px solid #111; box-shadow: 2px 2px 2px #333; color: white; font-size: 0.85em; padding: 1px 3px; margin-right: 3px;">{{{1}}}</span> a9e43c9fc21f4a74a04793f00e9304e6d5fa97c3 MediaWiki:Common.js 8 27 98 45 2024-09-02T01:08:21Z Westgrass 40 javascript text/javascript mw.loader.getScript( 'https://commons.wiki.gg/index.php?title=MediaWiki:Common-base.js&action=raw&ctype=text/javascript' ).then(function(){ //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /*end of mw.loader.getScript().then callback*/ }); 924072bf71585a43568b077511d0925f9dc38a85 Main Page 0 26 100 43 2024-12-10T01:13:51Z Bot4401 45109 Protected "[[Main Page]]": High-traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki #REDIRECT [[Espada de Sheris Wiki]] dbbc6ca0284967ceb6000bb791a1303ac3aaba60 MediaWiki:Copyright 8 5 101 8 2025-02-10T19:53:29Z Surafbrov 59 wikitext text/x-wiki {{int:wikigg-copyright|CC BY-SA 4.0|$1}} 999f12b472b0177c515e14cda21d5e4ddc0603e1 Module:Template link 828 64 102 2025-03-09T22:03:37Z RheingoldRiver 2743 Adding DLW template link Scribunto text/plain -- This code is adapted from Wikipedia -- For the original, please see: https://en.wikipedia.org/wiki/Module:Template_link_general -- This implements Template:Tlg local getArgs = require('Module:ArgsUtil').merge local p = {} -- Is a string non-empty? local function _ne(s) return s ~= nil and s ~= "" end local nw = mw.text.nowiki local function addTemplate(s) local i, _ = s:find(':', 1, true) if i == nil then return 'Template:' .. s end local ns = s:sub(1, i - 1) if ns == '' or mw.site.namespaces[ns] then return s else return 'Template:' .. s end end local function trimTemplate(s) local needle = 'template:' if s:sub(1, needle:len()):lower() == needle then return s:sub(needle:len() + 1) else return s end end local function linkTitle(args) if _ne(args.nolink) then return args[1] end local titleObj local titlePart = '[[' if args[1] then -- This handles :Page and other NS titleObj = mw.title.new(args[1], 'Template') else titleObj = mw.title.getCurrentTitle() end titlePart = titlePart .. (titleObj ~= nil and titleObj.fullText or addTemplate(args[1])) local textPart = args.alttext if not _ne(textPart) then if titleObj ~= nil then textPart = titleObj:inNamespace("Template") and args[1] or titleObj.fullText else -- redlink textPart = args[1] end end if _ne(args.subst) then -- HACK: the ns thing above is probably broken textPart = 'subst:' .. textPart end if _ne(args.brace) then textPart = nw('{{') .. textPart .. nw('}}') elseif _ne(args.braceinside) then textPart = nw('{') .. textPart .. nw('}') end titlePart = titlePart .. '|' .. textPart .. ']]' if _ne(args.braceinside) then titlePart = nw('{') .. titlePart .. nw('}') end return titlePart end function p.main(frame) local args = getArgs() return p._main(args) end function p._main(args) local bold = _ne(args.bold) or _ne(args.boldlink) or _ne(args.boldname) local italic = _ne(args.italic) or _ne(args.italics) local dontBrace = _ne(args.brace) or _ne(args.braceinside) local code = _ne(args.code) or _ne(args.tt) local show_result = _ne(args._show_result) local expand = _ne(args._expand) -- Build the link part local titlePart = linkTitle(args) if bold then titlePart = "'''" .. titlePart .. "'''" end if _ne(args.nowrapname) then titlePart = '<span class="nowrap">' .. titlePart .. '</span>' end -- Build the arguments local textPart = "" local textPartBuffer = "&#124;" local codeArguments = {} local codeArgumentsString = "" local i = 2 local j = 1 while args[i] do local val = args[i] if val ~= "" then if _ne(args.nowiki) then -- Unstrip nowiki tags first because calling nw on something that already contains nowiki tags will -- mangle the nowiki strip marker and result in literal UNIQ...QINU showing up val = nw(mw.text.unstripNoWiki(val)) end local k, v = string.match(val, "(.*)=(.*)") if not k then codeArguments[j] = val j = j + 1 else codeArguments[k] = v end codeArgumentsString = codeArgumentsString .. textPartBuffer .. val if italic then val = '<span style="font-style:italic;">' .. val .. '</span>' end textPart = textPart .. textPartBuffer .. val end i = i + 1 end -- final wrap local ret = titlePart .. textPart if not dontBrace then ret = nw('{{') .. ret .. nw('}}') end if _ne(args.a) then ret = nw('*') .. '&nbsp;' .. ret end if _ne(args.kbd) then ret = '<kbd>' .. ret .. '</kbd>' end if code then ret = '<code>' .. ret .. '</code>' elseif _ne(args.plaincode) then ret = '<code style="border:none;background:transparent;">' .. ret .. '</code>' end if _ne(args.nowrap) then ret = '<span class="nowrap">' .. ret .. '</span>' end --[[ Wrap as html?? local span = mw.html.create('span') span:wikitext(ret) --]] if _ne(args.debug) then ret = ret .. '\n<pre>' .. mw.text.encode(mw.dumpObject(args)) .. '</pre>' end if show_result then local result = mw.getCurrentFrame():expandTemplate{title = addTemplate(args[1]), args = codeArguments} ret = ret .. " → " .. result end if expand then local query = mw.text.encode('{{' .. addTemplate(args[1]) .. string.gsub(codeArgumentsString, textPartBuffer, "|") .. '}}') local url = mw.uri.fullUrl('special:ExpandTemplates', 'wpInput=' .. query) mw.log() ret = ret .. " [" .. tostring(url) .. "]" end return ret end return p 45d40a4bff9a1d0eb4274f56fb2f17849aa68728 Module:ArgsUtil 828 65 103 2025-03-09T22:03:37Z RheingoldRiver 2743 Adding DLW template link Scribunto text/plain local p = {} function p.merge() local f = mw.getCurrentFrame() local origArgs = f.args local parentArgs = f:getParent().args local args = {} for k, v in pairs(origArgs) do v = mw.text.trim(tostring(v)) if v ~= '' then args[k] = v end end for k, v in pairs(parentArgs) do v = mw.text.trim(v) if v ~= '' then args[k] = v end end return args end return p 1d1b2105bd857dcc5e33c8c0a8a780f67cbae72e Template:Tl/doc 10 66 104 2025-03-09T22:03:38Z RheingoldRiver 2743 Adding DLW template link wikitext text/x-wiki {{From Wikipedia|Module:Template link general,Template:Tlx}} {{Uses Lua|Template link}} This template returns an exemplaric use of a template while linking to the template description page, if the template exists. == Usage == <pre> {{tl|<Template name>}} {{tl|<Template name>|<Template parameters>}} </pre> ; ''unnamed parameter'' 1 : Template name (without <code>Template:</code> prefix) ; ''unnamed parameter'' 2 - 9 : Optional. Template parameters ; nl : Optional flag to display an un-linked template usage. == Examples == : <code><nowiki>{{tl|stub}}</nowiki></code> returns {{tl|stub}} : <code><nowiki>{{tl|stub|1}}</nowiki></code> returns {{tl|stub|1}} : <code><nowiki>{{tl|stub|1|2|nl{{=}}y}}</nowiki></code> returns {{tl|stub|1|2|nl{{=}}y}} : <code><nowiki>{{tl|for|page|t1{{=}}alt text}}</nowiki></code> returns {{tl|for|page|t1{{=}}alt text}} == See also == <includeonly> [[Category:Formatting templates]] </includeonly><noinclude>[[Category:Template documentation]]</noinclude> 7cb4f0fa749ef8a18a48c4b5816357a225f4acee Template:Tl 10 67 105 2025-03-09T22:03:39Z RheingoldRiver 2743 Adding DLW template link wikitext text/x-wiki <includeonly>{{#invoke:Template link|main|code=on}}</includeonly><noinclude> {{Documentation}} </noinclude> 1c13b1daaf7b7e8ce1e45cc03b4baf31c09bc6cd Category:Pages with DRUID infoboxes 14 68 106 2025-03-09T22:52:10Z RheingoldRiver 2743 Adding gadget-helper hidden categories wikitext text/x-wiki This category contains every page with a DRUID infobox. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 17ed4520e5c453209616df3c9b2306fce8ceb12f Category:Pages with Discord embeds 14 69 107 2025-03-09T22:52:11Z RheingoldRiver 2743 Adding gadget-helper hidden categories wikitext text/x-wiki This category contains every page with a {{tl|Discord}} embed. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 11ff5616854d8913d2c371ae3c2c610278651846 Category:Pages with amboxes 14 70 108 2025-03-09T22:52:11Z RheingoldRiver 2743 Adding gadget-helper hidden categories wikitext text/x-wiki This category contains every page with an {{tl|ambox}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] de382f794395f344d0147dbb96b9542d6f38f624 Category:Pages with colors 14 71 109 2025-03-09T22:52:12Z RheingoldRiver 2743 Adding gadget-helper hidden categories wikitext text/x-wiki This category contains every page with a {{tl|color}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] bcca0312385263c30522c744df6a8c8856c68fab Category:Pages with hatnotes 14 72 110 2025-03-09T22:52:13Z RheingoldRiver 2743 Adding gadget-helper hidden categories wikitext text/x-wiki This category contains every page with a {{tl|hatnote}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 4ac7721cfcffb2f181820164d95f3af8d86c4fd7 Category:Pages with navboxes 14 73 111 2025-03-09T22:52:14Z RheingoldRiver 2743 Adding gadget-helper hidden categories wikitext text/x-wiki This category contains every page with a {{tl|navbox}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 3e48f396fafee5d8aecf6cd0dcb554c769f485a9 Category:Pages with quotes 14 74 112 2025-03-09T22:52:14Z RheingoldRiver 2743 Adding gadget-helper hidden categories wikitext text/x-wiki This category contains every page with a {{tl|quote}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 2f764cddd1fb264f48b896ffd6e892df3c391e90 Category:Pages with spoilers 14 75 113 2025-03-09T22:52:15Z RheingoldRiver 2743 Adding gadget-helper hidden categories wikitext text/x-wiki This category contains every page with a {{tl|spoiler}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 5822aa87e8a8897673ff589d00d2f0d622aa3be5 Category:Categories for loading gadgets 14 76 114 2025-03-09T22:52:16Z RheingoldRiver 2743 Adding gadget-helper hidden categories wikitext text/x-wiki [[Category:Wiki maintenance]] 197b5fc8ebad5537759adacc0079b4b2662cb4c4 MediaWiki:Gadgets/ranger 8 77 115 2025-03-09T22:52:17Z RheingoldRiver 2743 Created page with "{ "settings": { "section": "", "package": false, "default": true, "hidden": false, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [ "Pages with navboxes" ], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "variables.css", "main.css", "custom.css" ], "dependencies": [], "type": "styles" } }" GadgetDefinition application/json { "settings": { "section": "", "package": false, "default": true, "hidden": false, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [ "Pages with navboxes" ], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "variables.css", "main.css", "custom.css" ], "dependencies": [], "type": "styles" } } 02a05063770275f77c6a7df46cfecee5acb7f740 119 115 2025-03-27T03:36:10Z RheingoldRiver 2743 Fixing RANGER deploy GadgetDefinition application/json { "settings": { "section": "", "package": false, "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [ "Pages with navboxes" ], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "variables.css", "main.css", "custom.css" ], "dependencies": [], "type": "styles" } } 0e59fa9520b52214b9fedaecae9f41d86afd197f MediaWiki:Gadgets/ranger/main.css 8 78 116 2025-03-09T22:52:18Z RheingoldRiver 2743 Created page with "/** as of Module:navbox version 1.2.2 **/ .ranger-navbox{ border-color: var(--navbox-outer-border-color); border-style: var(--navbox-outer-border-style); border-width: var(--navbox-outer-border-width); border-radius: var(--navbox-outer-border-radius); padding: var(--navbox-padding); font-size: var(--navbox-font-size); margin: var(--navbox-margin); background: var(--navbox-background); line-height: 1.5; clear:both; } .ranger-navbox * { border: 0; }..." css text/css /** as of Module:navbox version 1.2.2 **/ .ranger-navbox{ border-color: var(--navbox-outer-border-color); border-style: var(--navbox-outer-border-style); border-width: var(--navbox-outer-border-width); border-radius: var(--navbox-outer-border-radius); padding: var(--navbox-padding); font-size: var(--navbox-font-size); margin: var(--navbox-margin); background: var(--navbox-background); line-height: 1.5; clear:both; } .ranger-navbox * { border: 0; } .ranger-navbox .center *{ margin-left: unset; margin-right: unset; } .ranger-navbox, .ranger-navbox .ranger-section, .ranger-navbox .ranger-listbox{ display: flex; flex-direction: column; gap: var(--navbox-gap); } .ranger-navbox .ranger-title, .ranger-navbox .ranger-header{ text-align: center; min-height: 1.5em; position: relative; z-index: 0; font-weight: bold; } .ranger-navbox .ranger-title{ color: var(--navbox-title-color); background: var(--navbox-title-background); font-size: var(--navbox-title-font-size); padding: var(--navbox-title-padding--y) calc(1.5em + var(--navbox-icon-offset--x)); /* left and right padding equal to the size and position of the edit/collapse buttons */ } .ranger-navbox .ranger-title a, .ranger-navbox .ranger-title a:visited, .ranger-navbox .ranger-title a:hover, .ranger-navbox .ranger-title a.external, .ranger-navbox .ranger-title a.external:visited, .ranger-navbox .ranger-title a.external:hover { text-decoration: var(--navbox-title-link-decoration); } .ranger-navbox .ranger-title a.new, .ranger-navbox .ranger-title a.new:visited { text-decoration: var(--navbox-title-redlink-decoration); } .ranger-navbox .ranger-title a, .ranger-navbox .ranger-title a.external, .ranger-navbox .ranger-title a.external:visited { color: var(--navbox-title-link-color); } .ranger-navbox .ranger-title a:visited{ color: var(--navbox-title-link-color--visited); } .ranger-navbox .ranger-title a.new, .ranger-navbox .ranger-title a.new:visited{ color:var(--navbox-title-redlink-color); } .ranger-navbox .ranger-title a:hover, .ranger-navbox .ranger-title a:visited:hover, .ranger-navbox .ranger-title a.external:hover, .ranger-navbox .ranger-title a.external:visited:hover { color:var(--navbox-title-link-color--hover); } .ranger-navbox .ranger-header{ color: var(--navbox-header-color); background: var(--navbox-header-background); font-size: var(--navbox-header-font-size); padding: var(--navbox-header-padding--y) calc(1.5em + var(--navbox-icon-offset--x)); /* left and right padding equal to the size and position of the edit/collapse buttons */ } .ranger-navbox .ranger-sublist .ranger-header{ font-size: var(--navbox-subheader-font-size); padding: var(--navbox-subheader-padding--y) calc(1.5em + var(--navbox-icon-offset--x)); /* left and right padding equal to the size and position of the edit/collapse buttons */ } .ranger-navbox .ranger-header a, .ranger-navbox .ranger-header a:visited, .ranger-navbox .ranger-header a:hover, .ranger-navbox .ranger-header a.external, .ranger-navbox .ranger-header a.external:visited, .ranger-navbox .ranger-header a.external:hover { text-decoration: var(--navbox-header-link-decoration); } .ranger-navbox .ranger-header a.new, .ranger-navbox .ranger-header a.new:visited { text-decoration: var(--navbox-header-redlink-decoration); } .ranger-navbox .ranger-header a, .ranger-navbox .ranger-header a.external, .ranger-navbox .ranger-header a.external:visited { color: var(--navbox-header-link-color); } .ranger-navbox .ranger-header a:visited{ color: var(--navbox-header-link-color--visited); } .ranger-navbox .ranger-header a.new, .ranger-navbox .ranger-header a.new:visited{ color:var(--navbox-header-redlink-color); } .ranger-navbox .ranger-header a:hover, .ranger-navbox .ranger-header a:visited:hover, .ranger-navbox .ranger-header a.external:hover, .ranger-navbox .ranger-header a.external:visited:hover { color:var(--navbox-header-link-color--hover); } .ranger-navbox .ranger-meta{ font-size: var(--navbox-title-font-size); position: absolute; left: var(--navbox-icon-offset--x); top: calc(var(--navbox-title-padding--y) + 0.08em); /* 0.08em: vertial offset tweak based on the icon graph */ display: block; } .ranger-navbox .ranger-meta .nv{ --mask: var(--icon-metalinks); display: block; width: 0.84em; /* based on the icon graph */ height: 0.84em; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--navbox-title-icon-color); } .ranger-navbox .ranger-meta .nv > a{ display: block; width: 100%; height: 100%; opacity: 0; } .ranger-navbox .ranger-meta .nv > a > span{ display: block; width: 100%; height: 100%; overflow: hidden; } .ranger-navbox .ranger-meta:has(.mw-selflink){ display: none; } .ranger-navbox, .ranger-navbox .ranger-section{ position: relative; } .ranger .mw-collapsible-toggle-placeholder{ display: none; } .ranger-navbox .ranger-title > .ranger-title-text, .ranger-navbox .ranger-header > .ranger-header-text{ pointer-events: none; } .ranger-navbox .ranger-title > .ranger-title-text a, .ranger-navbox .ranger-header > .ranger-header-text a{ pointer-events: auto; } .ranger-navbox .ranger-title > .mw-collapsible-toggle, .ranger-navbox .ranger-header > .mw-collapsible-toggle{ --mask: var(--icon-chevron-down); position: absolute; right: 0; top: 0; z-index: -1; display: block; width: 100%; height: 100%; overflow:hidden; } .ranger-navbox.small-collapsible-toggle-click-area .ranger-title > .mw-collapsible-toggle, .ranger-navbox.small-collapsible-toggle-click-area .ranger-header > .mw-collapsible-toggle{ width: 1.5em; height: 1.5em; right: var(--navbox-icon-offset--x); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-title > .mw-collapsible-toggle{ top: var(--navbox-title-padding--y); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-header > .mw-collapsible-toggle{ top: var(--navbox-header-padding--y); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-sublist .ranger-header > .mw-collapsible-toggle{ top: var(--navbox-subheader-padding--y); } .ranger-navbox .ranger-title > .mw-collapsible-toggle::before, .ranger-navbox .ranger-header > .mw-collapsible-toggle::before{ content: ""; display: block; width: 1.5em; height: 1.5em; position: absolute; right: var(--navbox-icon-offset--x); -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--navbox-title-icon-color); transform: scaleY(-1); } .ranger-navbox .ranger-title > .mw-collapsible-toggle::before{ top: var(--navbox-title-padding--y); } .ranger-navbox .ranger-header > .mw-collapsible-toggle::before{ top: var(--navbox-header-padding--y); } .ranger-navbox .ranger-sublist .ranger-header > .mw-collapsible-toggle::before{ top: var(--navbox-subheader-padding--y); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-title > .mw-collapsible-toggle::before, .ranger-navbox.small-collapsible-toggle-click-area .ranger-header > .mw-collapsible-toggle::before{ top: 0; right: 0; } .ranger-navbox .ranger-header > .mw-collapsible-toggle::before{ background-color: var(--navbox-header-icon-color); } .ranger-navbox .ranger-title > .mw-collapsible-toggle.mw-collapsible-toggle-collapsed::before, .ranger-navbox .ranger-header > .mw-collapsible-toggle.mw-collapsible-toggle-collapsed::before{ transform: none; } .ranger-navbox .ranger-title > .mw-collapsible-toggle *, .ranger-navbox .ranger-title > .mw-collapsible-toggle::after, .ranger-navbox .ranger-header > .mw-collapsible-toggle *, .ranger-navbox .ranger-header > .mw-collapsible-toggle::after{ display: none; } .ranger-navbox .ranger-list{ width: unset; padding: var(--navbox-list-padding); } .ranger-navbox .ranger-above{ background: var(--navbox-above-background); color: var(--navbox-above-color); padding: var(--navbox-above-padding); width: unset; } .ranger-navbox .ranger-below{ background: var(--navbox-below-background); color: var(--navbox-below-color); padding: var(--navbox-below-padding); width: unset; } .ranger-navbox .ranger-sublist{ display: flex; flex-direction: column; gap: var(--navbox-gap); } .ranger-navbox .ranger-section-body{ display: grid; gap: var(--navbox-gap); grid-template-columns: auto minmax(0,1fr); } .ranger-navbox .ranger-row{ display: contents; } .ranger-navbox .ranger-group, .ranger-navbox .ranger-subgroup{ text-align: var(--navbox-group-text-align); white-space: nowrap; font-weight: bold; background: var(--navbox-group-background); color: var(--navbox-group-color); padding: var(--navbox-group-padding); width: unset; } /* for desktop view */ .ranger-navbox.group-align-left .ranger-group, .ranger-navbox.group-align-left .ranger-subgroup{ --navbox-group-text-align: left; } .ranger-navbox.group-align-center .ranger-group, .ranger-navbox.group-align-center .ranger-subgroup{ --navbox-group-text-align: center; } .ranger-navbox.group-align-right .ranger-group, .ranger-navbox.group-align-right .ranger-subgroup{ --navbox-group-text-align: right; } /* for mobile view */ .ranger-navbox.mobile-group-align-left .ranger-group, .ranger-navbox.mobile-group-align-left .ranger-subgroup{ --navbox-group-text-align--mobile: left; } .ranger-navbox.mobile-group-align-center .ranger-group, .ranger-navbox.mobile-group-align-center .ranger-subgroup{ --navbox-group-text-align--mobile: center; } .ranger-navbox.mobile-group-align-right .ranger-group, .ranger-navbox.mobile-group-align-right .ranger-subgroup{ --navbox-group-text-align--mobile: right; } .ranger-navbox .ranger-listbox > .ranger-wrap{ background: var(--navbox-list-background); color: var(--navbox-list-color); flex-grow: 1; } .ranger-navbox .ranger-sublist{ flex-grow: var(--count); } .ranger-navbox .ranger-listbox:first-child{ /* A list-n without group-n */ grid-column-end: span 2; } .ranger-navbox .ranger-group, .ranger-navbox .ranger-subgroup, .ranger-navbox .ranger-listbox > .ranger-wrap{ display: grid; justify-items: stretch; align-items: center; } .ranger-navbox.striped-even .ranger-even, .ranger-navbox.striped-odd .ranger-odd{ background: var(--navbox-list-background--striped); } /* make links use full line height (larger click box)*/ .ranger-navbox .hlist a{ display: inline-block; } .ranger-navbox .align-left, .ranger-navbox .alignleft{ text-align: left; } .ranger-navbox .align-center, .ranger-navbox .aligncenter{ text-align: center; } .ranger-navbox .align-right, .ranger-navbox .alignright{ text-align: right; } /* responsive */ @media screen and (max-width: 720px) { .ranger-navbox .ranger-section-body, .ranger-navbox .ranger-sublist { display: flex; flex-flow: column; } .ranger-navbox .ranger-row{ display: block; } .ranger-navbox .ranger-group + .ranger-listbox > .ranger-sublist:first-child, .ranger-navbox .ranger-subgroup + .ranger-listbox > .ranger-sublist:first-child{ margin-top: var(--navbox-gap); } .ranger-navbox .ranger-listbox.empty{ display: none; } .ranger-navbox .ranger-group, .ranger-navbox .ranger-subgroup{ text-align: var(--navbox-group-text-align--mobile); white-space: normal; } .ranger-navbox .ranger-sublist { padding-left: var(--navbox-tree-indent); margin-left: var(--navbox-tree-line-indent); } .ranger-navbox .ranger-subgroup, .ranger-navbox .ranger-listbox { position:relative; } .ranger-navbox .ranger-group br, .ranger-navbox .ranger-subgroup br{ display: none; } .ranger-navbox .ranger-sublist > .ranger-section > .ranger-header{ margin-left: calc( 0px - var(--navbox-tree-indent) - var(--navbox-tree-line-indent)); } .ranger-navbox .ranger-sublist .ranger-row > ::before{ position: absolute; left: calc(0px - var(--navbox-tree-indent)); top: 0; width: var(--navbox-tree-line-width); height: 100%; content: ''; display: block; background-color: var(--navbox-tree-line-color); } .ranger-navbox .ranger-sublist .ranger-row > .ranger-listbox::before, .ranger-navbox .ranger-row.empty-list > .ranger-subgroup::before{ height: calc(100% + var(--navbox-gap)); } .ranger-navbox .ranger-sublist .ranger-row:last-child > ::before { display: none; } .ranger-navbox .ranger-sublist .ranger-row:last-child > :first-child::before { display: block; height: calc(50% + var(--navbox-tree-line-width)/2); } .ranger-navbox .ranger-subgroup::after, .ranger-navbox .empty-group > .ranger-listbox > .ranger-wrap::after{ position: absolute; left: calc(0px - var(--navbox-tree-indent) + var(--navbox-tree-line-width)); width: calc(var(--navbox-tree-indent) - var(--navbox-tree-line-spacing) - var(--navbox-tree-line-width)); height: var(--navbox-tree-line-width); content: ''; background-color: var(--navbox-tree-line-color); } /* increase height for links */ .ranger-navbox .hlist{ line-height: 2; } } /**** `.pill` class: the "pill" style ****/ /* remove middle dots betweem items */ .ranger-navbox.pill .hlist dd:not(:last-child)::after, .ranger-navbox.pill .hlist li:not(:last-child)::after{ display: none; } /* remove parentheses around nested lists*/ .ranger-navbox.pill .hlist dd ol::before, .ranger-navbox.pill .hlist dd ul::before, .ranger-navbox.pill .hlist dd dl::before, .ranger-navbox.pill .hlist dt ol::before, .ranger-navbox.pill .hlist dt ul::before, .ranger-navbox.pill .hlist dt dl::before, .ranger-navbox.pill .hlist li ol::before, .ranger-navbox.pill .hlist li ul::before, .ranger-navbox.pill .hlist li dl::before, .ranger-navbox.pill .hlist dd ol::after, .ranger-navbox.pill .hlist dd ul::after, .ranger-navbox.pill .hlist dd dl::after, .ranger-navbox.pill .hlist dt ol::after, .ranger-navbox.pill .hlist dt ul::after, .ranger-navbox.pill .hlist dt dl::after, .ranger-navbox.pill .hlist li ol::after, .ranger-navbox.pill .hlist li ul::after, .ranger-navbox.pill .hlist li dl::after { display: none; } /* make lists inline-flex */ .ranger-navbox.pill .hlist ul, .ranger-navbox.pill .hlist ol, .ranger-navbox.pill .hlist dl{ display: inline-flex; gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* "pill" style for items */ .ranger-navbox.pill .hlist li, .ranger-navbox.pill .hlist dt, .ranger-navbox.pill .hlist dd{ padding: var(--navbox-pill-padding); border-radius: var(--navbox-pill-border-radius); box-shadow: var(--navbox-pill-box-shadow); background: var(--navbox-pill-background); /* 100% height */ display: flex; align-items: center; /* for nested lists */ gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* Add a hover / focus feedback style */ .ranger-navbox.pill .hlist dd:hover, .ranger-navbox.pill .hlist dd:focus, .ranger-navbox.pill .hlist dt:hover, .ranger-navbox.pill .hlist dt:focus, .ranger-navbox.pill .hlist li:hover, .ranger-navbox.pill .hlist li:focus { box-shadow: var(--navbox-pill-box-shadow--hover); background: var(--navbox-pill-background--hover); } /* pill with selflink * * Only select the deepest level for nested lists. * We have to use :has() to pick pills with selflink and * all browsers which support :has() should also support :is() and :not(), * therefore we can use :is() and :not() here safely. */ .ranger-navbox.pill .hlist .ranger-list :is(li,dt,dd):has(.mw-selflink):not(:has(li, dt, dd)){ background: var(--navbox-pill-selflink-background); } /**** `.pill-mobile` class: only apply the "pill" style on mobile ****/ @media screen and (max-width: 720px) { /* remove middle dots betweem items */ .ranger-navbox.pill-mobile .hlist dd:not(:last-child)::after, .ranger-navbox.pill-mobile .hlist li:not(:last-child)::after{ display: none; } /* remove parentheses around nested lists*/ .ranger-navbox.pill-mobile .hlist dd ol::before, .ranger-navbox.pill-mobile .hlist dd ul::before, .ranger-navbox.pill-mobile .hlist dd dl::before, .ranger-navbox.pill-mobile .hlist dt ol::before, .ranger-navbox.pill-mobile .hlist dt ul::before, .ranger-navbox.pill-mobile .hlist dt dl::before, .ranger-navbox.pill-mobile .hlist li ol::before, .ranger-navbox.pill-mobile .hlist li ul::before, .ranger-navbox.pill-mobile .hlist li dl::before, .ranger-navbox.pill-mobile .hlist dd ol::after, .ranger-navbox.pill-mobile .hlist dd ul::after, .ranger-navbox.pill-mobile .hlist dd dl::after, .ranger-navbox.pill-mobile .hlist dt ol::after, .ranger-navbox.pill-mobile .hlist dt ul::after, .ranger-navbox.pill-mobile .hlist dt dl::after, .ranger-navbox.pill-mobile .hlist li ol::after, .ranger-navbox.pill-mobile .hlist li ul::after, .ranger-navbox.pill-mobile .hlist li dl::after { display: none; } /* make lists inline-flex */ .ranger-navbox.pill-mobile .hlist ul, .ranger-navbox.pill-mobile .hlist ol, .ranger-navbox.pill-mobile .hlist dl{ display: inline-flex; gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* "pill" style for items */ .ranger-navbox.pill-mobile .hlist li, .ranger-navbox.pill-mobile .hlist dt, .ranger-navbox.pill-mobile .hlist dd{ /* 100% height */ display: flex; align-items: center; /* for nested lists */ gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* "pill" style for items */ .ranger-navbox.pill-mobile .hlist li, .ranger-navbox.pill-mobile .hlist dt, .ranger-navbox.pill-mobile .hlist dd{ padding: var(--navbox-pill-padding); border-radius: var(--navbox-pill-border-radius); box-shadow: var(--navbox-pill-box-shadow); background: var(--navbox-pill-background); /* 100% height */ display: flex; align-items: center; /* for nested lists */ gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* Add a hover / focus feedback style */ .ranger-navbox.pill-mobile .hlist dd:hover, .ranger-navbox.pill-mobile .hlist dd:focus, .ranger-navbox.pill-mobile .hlist dt:hover, .ranger-navbox.pill-mobile .hlist dt:focus, .ranger-navbox.pill-mobile .hlist li:hover, .ranger-navbox.pill-mobile .hlist li:focus { box-shadow: var(--navbox-pill-box-shadow--hover); background: var(--navbox-pill-background--hover); } /* pill with selflink * * Only select the deepest level for nested lists. * We have to use :has() to pick pills with selflink and * all browsers which support :has() should also support :is() and :not(), * therefore we can use :is() and :not() here safely. */ .ranger-navbox.pill-mobile .hlist .ranger-list :is(li,dt,dd):has(.mw-selflink):not(:has(li, dt, dd)){ background: var(--navbox-pill-selflink-background); } } /********************* * End Template:Navbox* **********************/ ef53304ec73d1489fe61b0d50ab8f34bd3a07f55 123 116 2025-07-22T16:52:59Z Bot4401 45109 AUTOMATED: Updating RANGER navboxes' stylesheets to fix compatibility with [hidden=until-found] collapsibles. In case of issues or other bugs, please contact us via https://indieio.atlassian.net/servicedesk/customer . css text/css /** as of Module:navbox version 1.2.2 **/ .ranger-navbox{ border-color: var(--navbox-outer-border-color); border-style: var(--navbox-outer-border-style); border-width: var(--navbox-outer-border-width); border-radius: var(--navbox-outer-border-radius); padding: var(--navbox-padding); font-size: var(--navbox-font-size); margin: var(--navbox-margin); background: var(--navbox-background); line-height: 1.5; clear:both; } .ranger-navbox * { border: 0; } .ranger-navbox .center *{ margin-left: unset; margin-right: unset; } .ranger-navbox, .ranger-navbox .ranger-section, .ranger-navbox .ranger-listbox{ display: flex; flex-direction: column; gap: var(--navbox-gap); } .ranger-navbox .ranger-title, .ranger-navbox .ranger-header{ text-align: center; min-height: 1.5em; position: relative; z-index: 0; font-weight: bold; } .ranger-navbox .ranger-title{ color: var(--navbox-title-color); background: var(--navbox-title-background); font-size: var(--navbox-title-font-size); padding: var(--navbox-title-padding--y) calc(1.5em + var(--navbox-icon-offset--x)); /* left and right padding equal to the size and position of the edit/collapse buttons */ } .ranger-navbox .ranger-title a, .ranger-navbox .ranger-title a:visited, .ranger-navbox .ranger-title a:hover, .ranger-navbox .ranger-title a.external, .ranger-navbox .ranger-title a.external:visited, .ranger-navbox .ranger-title a.external:hover { text-decoration: var(--navbox-title-link-decoration); } .ranger-navbox .ranger-title a.new, .ranger-navbox .ranger-title a.new:visited { text-decoration: var(--navbox-title-redlink-decoration); } .ranger-navbox .ranger-title a, .ranger-navbox .ranger-title a.external, .ranger-navbox .ranger-title a.external:visited { color: var(--navbox-title-link-color); } .ranger-navbox .ranger-title a:visited{ color: var(--navbox-title-link-color--visited); } .ranger-navbox .ranger-title a.new, .ranger-navbox .ranger-title a.new:visited{ color:var(--navbox-title-redlink-color); } .ranger-navbox .ranger-title a:hover, .ranger-navbox .ranger-title a:visited:hover, .ranger-navbox .ranger-title a.external:hover, .ranger-navbox .ranger-title a.external:visited:hover { color:var(--navbox-title-link-color--hover); } .ranger-navbox .ranger-header{ color: var(--navbox-header-color); background: var(--navbox-header-background); font-size: var(--navbox-header-font-size); padding: var(--navbox-header-padding--y) calc(1.5em + var(--navbox-icon-offset--x)); /* left and right padding equal to the size and position of the edit/collapse buttons */ } .ranger-navbox .ranger-sublist .ranger-header{ font-size: var(--navbox-subheader-font-size); padding: var(--navbox-subheader-padding--y) calc(1.5em + var(--navbox-icon-offset--x)); /* left and right padding equal to the size and position of the edit/collapse buttons */ } .ranger-navbox .ranger-header a, .ranger-navbox .ranger-header a:visited, .ranger-navbox .ranger-header a:hover, .ranger-navbox .ranger-header a.external, .ranger-navbox .ranger-header a.external:visited, .ranger-navbox .ranger-header a.external:hover { text-decoration: var(--navbox-header-link-decoration); } .ranger-navbox .ranger-header a.new, .ranger-navbox .ranger-header a.new:visited { text-decoration: var(--navbox-header-redlink-decoration); } .ranger-navbox .ranger-header a, .ranger-navbox .ranger-header a.external, .ranger-navbox .ranger-header a.external:visited { color: var(--navbox-header-link-color); } .ranger-navbox .ranger-header a:visited{ color: var(--navbox-header-link-color--visited); } .ranger-navbox .ranger-header a.new, .ranger-navbox .ranger-header a.new:visited{ color:var(--navbox-header-redlink-color); } .ranger-navbox .ranger-header a:hover, .ranger-navbox .ranger-header a:visited:hover, .ranger-navbox .ranger-header a.external:hover, .ranger-navbox .ranger-header a.external:visited:hover { color:var(--navbox-header-link-color--hover); } .ranger-navbox .ranger-meta{ font-size: var(--navbox-title-font-size); position: absolute; left: var(--navbox-icon-offset--x); top: calc(var(--navbox-title-padding--y) + 0.08em); /* 0.08em: vertial offset tweak based on the icon graph */ display: block; } .ranger-navbox .ranger-meta .nv{ --mask: var(--icon-metalinks); display: block; width: 0.84em; /* based on the icon graph */ height: 0.84em; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--navbox-title-icon-color); } .ranger-navbox .ranger-meta .nv > a{ display: block; width: 100%; height: 100%; opacity: 0; } .ranger-navbox .ranger-meta .nv > a > span{ display: block; width: 100%; height: 100%; overflow: hidden; } .ranger-navbox .ranger-meta:has(.mw-selflink){ display: none; } .ranger-navbox, .ranger-navbox .ranger-section{ position: relative; } .ranger .mw-collapsible-toggle-placeholder{ display: none; } .ranger-navbox .ranger-title > .ranger-title-text, .ranger-navbox .ranger-header > .ranger-header-text{ pointer-events: none; } .ranger-navbox .ranger-title > .ranger-title-text a, .ranger-navbox .ranger-header > .ranger-header-text a{ pointer-events: auto; } .ranger-navbox .ranger-title > .mw-collapsible-toggle, .ranger-navbox .ranger-header > .mw-collapsible-toggle{ --mask: var(--icon-chevron-down); position: absolute; right: 0; top: 0; z-index: -1; display: block; width: 100%; height: 100%; overflow:hidden; } .ranger-navbox.small-collapsible-toggle-click-area .ranger-title > .mw-collapsible-toggle, .ranger-navbox.small-collapsible-toggle-click-area .ranger-header > .mw-collapsible-toggle{ width: 1.5em; height: 1.5em; right: var(--navbox-icon-offset--x); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-title > .mw-collapsible-toggle{ top: var(--navbox-title-padding--y); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-header > .mw-collapsible-toggle{ top: var(--navbox-header-padding--y); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-sublist .ranger-header > .mw-collapsible-toggle{ top: var(--navbox-subheader-padding--y); } .ranger-navbox .ranger-title > .mw-collapsible-toggle::before, .ranger-navbox .ranger-header > .mw-collapsible-toggle::before{ content: ""; display: block; width: 1.5em; height: 1.5em; position: absolute; right: var(--navbox-icon-offset--x); -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--navbox-title-icon-color); transform: scaleY(-1); } .ranger-navbox .ranger-title > .mw-collapsible-toggle::before{ top: var(--navbox-title-padding--y); } .ranger-navbox .ranger-header > .mw-collapsible-toggle::before{ top: var(--navbox-header-padding--y); } .ranger-navbox .ranger-sublist .ranger-header > .mw-collapsible-toggle::before{ top: var(--navbox-subheader-padding--y); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-title > .mw-collapsible-toggle::before, .ranger-navbox.small-collapsible-toggle-click-area .ranger-header > .mw-collapsible-toggle::before{ top: 0; right: 0; } .ranger-navbox .ranger-header > .mw-collapsible-toggle::before{ background-color: var(--navbox-header-icon-color); } .ranger-navbox .ranger-title > .mw-collapsible-toggle.mw-collapsible-toggle-collapsed::before, .ranger-navbox .ranger-header > .mw-collapsible-toggle.mw-collapsible-toggle-collapsed::before{ transform: none; } .ranger-navbox .ranger-title > .mw-collapsible-toggle *, .ranger-navbox .ranger-title > .mw-collapsible-toggle::after, .ranger-navbox .ranger-header > .mw-collapsible-toggle *, .ranger-navbox .ranger-header > .mw-collapsible-toggle::after{ display: none; } .ranger-navbox .ranger-list{ width: unset; padding: var(--navbox-list-padding); } .ranger-navbox .ranger-above{ background: var(--navbox-above-background); color: var(--navbox-above-color); padding: var(--navbox-above-padding); width: unset; } .ranger-navbox .ranger-below{ background: var(--navbox-below-background); color: var(--navbox-below-color); padding: var(--navbox-below-padding); width: unset; } .ranger-navbox .ranger-sublist{ display: flex; flex-direction: column; gap: var(--navbox-gap); } .ranger-navbox .ranger-section-body{ display: grid; gap: var(--navbox-gap); grid-template-columns: auto minmax(0,1fr); } /* gap fix for collapsed content */ .ranger-navbox [class^="ranger-"][hidden="until-found"]{ margin-top: calc(0px - var(--navbox-gap)) !important; } .ranger-navbox .ranger-row{ display: contents; } .ranger-navbox .ranger-group, .ranger-navbox .ranger-subgroup{ text-align: var(--navbox-group-text-align); white-space: nowrap; font-weight: bold; background: var(--navbox-group-background); color: var(--navbox-group-color); padding: var(--navbox-group-padding); width: unset; } /* for desktop view */ .ranger-navbox.group-align-left .ranger-group, .ranger-navbox.group-align-left .ranger-subgroup{ --navbox-group-text-align: left; } .ranger-navbox.group-align-center .ranger-group, .ranger-navbox.group-align-center .ranger-subgroup{ --navbox-group-text-align: center; } .ranger-navbox.group-align-right .ranger-group, .ranger-navbox.group-align-right .ranger-subgroup{ --navbox-group-text-align: right; } /* for mobile view */ .ranger-navbox.mobile-group-align-left .ranger-group, .ranger-navbox.mobile-group-align-left .ranger-subgroup{ --navbox-group-text-align--mobile: left; } .ranger-navbox.mobile-group-align-center .ranger-group, .ranger-navbox.mobile-group-align-center .ranger-subgroup{ --navbox-group-text-align--mobile: center; } .ranger-navbox.mobile-group-align-right .ranger-group, .ranger-navbox.mobile-group-align-right .ranger-subgroup{ --navbox-group-text-align--mobile: right; } .ranger-navbox .ranger-listbox > .ranger-wrap{ background: var(--navbox-list-background); color: var(--navbox-list-color); flex-grow: 1; } .ranger-navbox .ranger-sublist{ flex-grow: var(--count); } .ranger-navbox .ranger-listbox:first-child{ /* A list-n without group-n */ grid-column-end: span 2; } .ranger-navbox .ranger-group, .ranger-navbox .ranger-subgroup, .ranger-navbox .ranger-listbox > .ranger-wrap{ display: grid; justify-items: stretch; align-items: center; } .ranger-navbox.striped-even .ranger-even, .ranger-navbox.striped-odd .ranger-odd{ background: var(--navbox-list-background--striped); } /* make links use full line height (larger click box)*/ .ranger-navbox .hlist a{ display: inline-block; } .ranger-navbox .align-left, .ranger-navbox .alignleft{ text-align: left; } .ranger-navbox .align-center, .ranger-navbox .aligncenter{ text-align: center; } .ranger-navbox .align-right, .ranger-navbox .alignright{ text-align: right; } /* responsive */ @media screen and (max-width: 720px) { .ranger-navbox .ranger-section-body, .ranger-navbox .ranger-sublist { display: flex; flex-flow: column; } .ranger-navbox .ranger-row{ display: block; } .ranger-navbox .ranger-group + .ranger-listbox > .ranger-sublist:first-child, .ranger-navbox .ranger-subgroup + .ranger-listbox > .ranger-sublist:first-child{ margin-top: var(--navbox-gap); } .ranger-navbox .ranger-listbox.empty{ display: none; } .ranger-navbox .ranger-group, .ranger-navbox .ranger-subgroup{ text-align: var(--navbox-group-text-align--mobile); white-space: normal; } .ranger-navbox .ranger-sublist { padding-left: var(--navbox-tree-indent); margin-left: var(--navbox-tree-line-indent); } .ranger-navbox .ranger-subgroup, .ranger-navbox .ranger-listbox { position:relative; } .ranger-navbox .ranger-group br, .ranger-navbox .ranger-subgroup br{ display: none; } .ranger-navbox .ranger-sublist > .ranger-section > .ranger-header{ margin-left: calc( 0px - var(--navbox-tree-indent) - var(--navbox-tree-line-indent)); } .ranger-navbox .ranger-sublist .ranger-row > ::before{ position: absolute; left: calc(0px - var(--navbox-tree-indent)); top: 0; width: var(--navbox-tree-line-width); height: 100%; content: ''; display: block; background-color: var(--navbox-tree-line-color); } .ranger-navbox .ranger-sublist .ranger-row > .ranger-listbox::before, .ranger-navbox .ranger-row.empty-list > .ranger-subgroup::before{ height: calc(100% + var(--navbox-gap)); } .ranger-navbox .ranger-sublist .ranger-row:last-child > ::before { display: none; } .ranger-navbox .ranger-sublist .ranger-row:last-child > :first-child::before { display: block; height: calc(50% + var(--navbox-tree-line-width)/2); } .ranger-navbox .ranger-subgroup::after, .ranger-navbox .empty-group > .ranger-listbox > .ranger-wrap::after{ position: absolute; left: calc(0px - var(--navbox-tree-indent) + var(--navbox-tree-line-width)); width: calc(var(--navbox-tree-indent) - var(--navbox-tree-line-spacing) - var(--navbox-tree-line-width)); height: var(--navbox-tree-line-width); content: ''; background-color: var(--navbox-tree-line-color); } /* increase height for links */ .ranger-navbox .hlist{ line-height: 2; } } /**** `.pill` class: the "pill" style ****/ /* remove middle dots betweem items */ .ranger-navbox.pill .hlist dd:not(:last-child)::after, .ranger-navbox.pill .hlist li:not(:last-child)::after{ display: none; } /* remove parentheses around nested lists*/ .ranger-navbox.pill .hlist dd ol::before, .ranger-navbox.pill .hlist dd ul::before, .ranger-navbox.pill .hlist dd dl::before, .ranger-navbox.pill .hlist dt ol::before, .ranger-navbox.pill .hlist dt ul::before, .ranger-navbox.pill .hlist dt dl::before, .ranger-navbox.pill .hlist li ol::before, .ranger-navbox.pill .hlist li ul::before, .ranger-navbox.pill .hlist li dl::before, .ranger-navbox.pill .hlist dd ol::after, .ranger-navbox.pill .hlist dd ul::after, .ranger-navbox.pill .hlist dd dl::after, .ranger-navbox.pill .hlist dt ol::after, .ranger-navbox.pill .hlist dt ul::after, .ranger-navbox.pill .hlist dt dl::after, .ranger-navbox.pill .hlist li ol::after, .ranger-navbox.pill .hlist li ul::after, .ranger-navbox.pill .hlist li dl::after { display: none; } /* make lists inline-flex */ .ranger-navbox.pill .hlist ul, .ranger-navbox.pill .hlist ol, .ranger-navbox.pill .hlist dl{ display: inline-flex; gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* "pill" style for items */ .ranger-navbox.pill .hlist li, .ranger-navbox.pill .hlist dt, .ranger-navbox.pill .hlist dd{ padding: var(--navbox-pill-padding); border-radius: var(--navbox-pill-border-radius); box-shadow: var(--navbox-pill-box-shadow); background: var(--navbox-pill-background); /* 100% height */ display: flex; align-items: center; /* for nested lists */ gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* Add a hover / focus feedback style */ .ranger-navbox.pill .hlist dd:hover, .ranger-navbox.pill .hlist dd:focus, .ranger-navbox.pill .hlist dt:hover, .ranger-navbox.pill .hlist dt:focus, .ranger-navbox.pill .hlist li:hover, .ranger-navbox.pill .hlist li:focus { box-shadow: var(--navbox-pill-box-shadow--hover); background: var(--navbox-pill-background--hover); } /* pill with selflink * * Only select the deepest level for nested lists. * We have to use :has() to pick pills with selflink and * all browsers which support :has() should also support :is() and :not(), * therefore we can use :is() and :not() here safely. */ .ranger-navbox.pill .hlist .ranger-list :is(li,dt,dd):has(.mw-selflink):not(:has(li, dt, dd)){ background: var(--navbox-pill-selflink-background); } /**** `.pill-mobile` class: only apply the "pill" style on mobile ****/ @media screen and (max-width: 720px) { /* remove middle dots betweem items */ .ranger-navbox.pill-mobile .hlist dd:not(:last-child)::after, .ranger-navbox.pill-mobile .hlist li:not(:last-child)::after{ display: none; } /* remove parentheses around nested lists*/ .ranger-navbox.pill-mobile .hlist dd ol::before, .ranger-navbox.pill-mobile .hlist dd ul::before, .ranger-navbox.pill-mobile .hlist dd dl::before, .ranger-navbox.pill-mobile .hlist dt ol::before, .ranger-navbox.pill-mobile .hlist dt ul::before, .ranger-navbox.pill-mobile .hlist dt dl::before, .ranger-navbox.pill-mobile .hlist li ol::before, .ranger-navbox.pill-mobile .hlist li ul::before, .ranger-navbox.pill-mobile .hlist li dl::before, .ranger-navbox.pill-mobile .hlist dd ol::after, .ranger-navbox.pill-mobile .hlist dd ul::after, .ranger-navbox.pill-mobile .hlist dd dl::after, .ranger-navbox.pill-mobile .hlist dt ol::after, .ranger-navbox.pill-mobile .hlist dt ul::after, .ranger-navbox.pill-mobile .hlist dt dl::after, .ranger-navbox.pill-mobile .hlist li ol::after, .ranger-navbox.pill-mobile .hlist li ul::after, .ranger-navbox.pill-mobile .hlist li dl::after { display: none; } /* make lists inline-flex */ .ranger-navbox.pill-mobile .hlist ul, .ranger-navbox.pill-mobile .hlist ol, .ranger-navbox.pill-mobile .hlist dl{ display: inline-flex; gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* "pill" style for items */ .ranger-navbox.pill-mobile .hlist li, .ranger-navbox.pill-mobile .hlist dt, .ranger-navbox.pill-mobile .hlist dd{ /* 100% height */ display: flex; align-items: center; /* for nested lists */ gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* "pill" style for items */ .ranger-navbox.pill-mobile .hlist li, .ranger-navbox.pill-mobile .hlist dt, .ranger-navbox.pill-mobile .hlist dd{ padding: var(--navbox-pill-padding); border-radius: var(--navbox-pill-border-radius); box-shadow: var(--navbox-pill-box-shadow); background: var(--navbox-pill-background); /* 100% height */ display: flex; align-items: center; /* for nested lists */ gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* Add a hover / focus feedback style */ .ranger-navbox.pill-mobile .hlist dd:hover, .ranger-navbox.pill-mobile .hlist dd:focus, .ranger-navbox.pill-mobile .hlist dt:hover, .ranger-navbox.pill-mobile .hlist dt:focus, .ranger-navbox.pill-mobile .hlist li:hover, .ranger-navbox.pill-mobile .hlist li:focus { box-shadow: var(--navbox-pill-box-shadow--hover); background: var(--navbox-pill-background--hover); } /* pill with selflink * * Only select the deepest level for nested lists. * We have to use :has() to pick pills with selflink and * all browsers which support :has() should also support :is() and :not(), * therefore we can use :is() and :not() here safely. */ .ranger-navbox.pill-mobile .hlist .ranger-list :is(li,dt,dd):has(.mw-selflink):not(:has(li, dt, dd)){ background: var(--navbox-pill-selflink-background); } } /********************* * End Template:Navbox* **********************/ ab00c75fd24409d86212e8116b27c09084552db7 MediaWiki:Gadgets/ranger/variables.css 8 79 117 2025-03-09T22:52:19Z RheingoldRiver 2743 Created page with ".ranger-navbox{ --navbox-background: none; /* for entire navbox */ --navbox-margin: 0.5em auto; --navbox-padding: 4px; --navbox-gap: 3px; /* when using zero-value, it must be 0px */ --navbox-outer-border-color: var(--wiki-content-border-color--accent); --navbox-outer-border-width: 1px; --navbox-outer-border-style: solid; --navbox-outer-border-radius: 0px; --navbox-font-size: calc(1em - 2px); --navbox-title-color: var(--wiki-accent-label-color); --na..." css text/css .ranger-navbox{ --navbox-background: none; /* for entire navbox */ --navbox-margin: 0.5em auto; --navbox-padding: 4px; --navbox-gap: 3px; /* when using zero-value, it must be 0px */ --navbox-outer-border-color: var(--wiki-content-border-color--accent); --navbox-outer-border-width: 1px; --navbox-outer-border-style: solid; --navbox-outer-border-radius: 0px; --navbox-font-size: calc(1em - 2px); --navbox-title-color: var(--wiki-accent-label-color); --navbox-title-font-size: calc(125%); --navbox-title-background: var(--wiki-accent-color); --navbox-title-icon-color: var(--wiki-accent-label-color); --navbox-title-link-color: var(--navbox-title-color); --navbox-title-link-color--visited: var(--navbox-title-link-color); --navbox-title-link-color--hover: var(--wiki-accent-link-color); --navbox-title-redlink-color: var(--navbox-title-link-color); --navbox-title-link-decoration: underline solid; --navbox-title-redlink-decoration: underline wavy; --navbox-title-padding--y: 0.5em; --navbox-above-background: color-mix(in srgb, var(--wiki-content-text-color) 15%, transparent); --navbox-above-color: var(--wiki-content-text-color); --navbox-above-padding: var(--navbox-list-padding); --navbox-below-background: var(--navbox-above-background); --navbox-below-color: var(--navbox-above-color); --navbox-below-padding: var(--navbox-above-padding); --navbox-header-color: var(--navbox-title-color); --navbox-header-font-size: calc(110%); --navbox-header-background: var(--navbox-title-background); --navbox-header-icon-color: var(--navbox-title-icon-color); --navbox-header-link-color: var(--navbox-title-link-color); --navbox-header-link-color--visited: var(--navbox-title-link-color--visited); --navbox-header-link-color--hover: var(--navbox-title-link-color--hover); --navbox-header-redlink-color: var(--navbox-title-redlink-color); --navbox-header-link-decoration: var(--navbox-title-link-decoration); --navbox-header-redlink-decoration: var(--navbox-title-redlink-decoration); --navbox-header-padding--y: 0.3em; --navbox-subheader-font-size: calc(100%); --navbox-subheader-padding--y: calc(var(--navbox-header-padding--y)/2); --navbox-list-background: color-mix(in srgb, var(--wiki-content-text-color) 5%, transparent); --navbox-list-background--striped: color-mix(in srgb, var(--wiki-content-text-color) 8%, transparent); --navbox-list-color: var(--wiki-content-text-color); --navbox-list-padding: 0.25em 0.5em; /* --navbox-group-* also apply to .ranger-subgroup */ --navbox-group-text-align: left; --navbox-group-text-align--mobile: left; /* only for mobile view */ --navbox-group-background: color-mix(in srgb, var(--wiki-accent-color) 20%, transparent); --navbox-group-color: var(--wiki-content-text-color); --navbox-group-padding: var(--navbox-list-padding); --navbox-tree-line-color: color-mix(in srgb, var(--wiki-accent-color) 30%, transparent); --navbox-tree-line-width: 2px; --navbox-tree-indent: 1em; --navbox-tree-line-indent: 0.5em; --navbox-tree-line-spacing: var(--navbox-gap); --icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-chevron-down' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M6 9l6 6l6 -6'%3E%3C/path%3E%3C/svg%3E"); --icon-metalinks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-edit' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1'%3E%3C/path%3E%3Cpath d='M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z'%3E%3C/path%3E%3Cpath d='M16 5l3 3'%3E%3C/path%3E%3C/svg%3E"); --navbox-icon-offset--x: 0.5rem; /* should be an absolute length (rem-based or px-based) */ } .ranger-navbox.pill, .ranger-navbox.pill-mobile{ /** vars for the "pill" style only (`.pill` and ".pill-mobile" clases) **/ --navbox-pill-gap: 0.3em; --navbox-pill-padding: 0.25em 0.75em; --navbox-pill-border-radius: 3px; --navbox-pill-box-shadow: none; --navbox-pill-background: color-mix(in srgb, var(--wiki-content-text-color) 5%, transparent); --navbox-pill-box-shadow--hover: inset 0 0 3px var(--navbox-list-color); --navbox-pill-background--hover: var(--navbox-pill-background); --navbox-pill-selflink-background: color-mix(in srgb, var(--wiki-accent-color) 15%, transparent);/* background of pills with selflink in them */ /* remove list cell background */ --navbox-list-background: none; --navbox-list-background--striped: color-mix(in srgb, var(--wiki-content-text-color) 3%, transparent); } .ranger-navbox.no-underline-title-links{ --navbox-title-link-color: var(--wiki-accent-link-color); --navbox-title-link-decoration: none; --navbox-title-redlink-decoration: none; } .ranger-navbox.noborder, .ranger-navbox.no-border{ --navbox-padding: 0px; --navbox-outer-border-width: 0px; } /****************************** * Fallback for older browsers * *******************************/ @supports not (color:color-mix(in srgb, #000, transparent)) { .ranger-navbox { --navbox-above-background: var(--wiki-content-background-color--secondary); --navbox-list-background: transparent; --navbox-list-background--striped: var(--wiki-content-background-color--secondary); --navbox-group-background: var(--wiki-content-background-color--secondary); --navbox-tree-line-color:var(--wiki-content-background-color--secondary); } .ranger-navbox.pill, .ranger-navbox.pill-mobile { --navbox-pill-background: var(--wiki-content-background-color--secondary); --navbox-list-background--striped: transparent; --navbox-pill-selflink-background: var(--wiki-content-background-color--secondary); } } /*************** * End fallback * ****************/ 2985752c4b0bc7060fe0ea7d07e19bfbdd1d3232 MediaWiki:Gadgets/ranger/custom.css 8 80 118 2025-03-09T22:52:20Z RheingoldRiver 2743 Created page with "/* Custom RANGER styles can go here. Rules here will override rules of equal specificity in main.css */" css text/css /* Custom RANGER styles can go here. Rules here will override rules of equal specificity in main.css */ 769d3248cef93d2b58dcf7339da923494f5173f8 Module:Navbox 828 81 120 2025-03-27T04:00:33Z RheingoldRiver 2743 Pushing 1.43-related updates to all wikis - please let us know at https://discord.gg/rTnST57tuW if you have questions or want to opt out Scribunto text/plain -- version 1.2.2 -- config table for RANGER. -- If you want to change the default config, DO NOT change it here, -- please do it via the `onLoadConfig` hook in [[Module:Navbox/Hooks]]. local config = { default_navbox_class = "navigation-not-searchable", -- Base value of the `class` parameter. default_title_class = nil, -- Base value of the `title_class` parameter. default_above_class = nil, -- Base value of the `above_class` parameter. default_below_class = nil, -- Base value of the `below_class` parameter. default_section_class =nil, -- Base value of the `section_class` parameter. default_header_class = nil, -- Base value of the `header_class` parameter. default_group_class = nil, -- Base value of the `group_class` parameter. default_list_class = 'hlist', -- Base value of the `list_class` parameter. default_header_state = nil, -- Base value of the `state` parameter. editlink_hover_message_key = 'Navbox-edit-hover', -- The system message name for hover text of the edit icon. custom_render_handle = nil, -- usually for debugging purposes only. if set, it should be a function accept 2 parameters: `dataTree` and `args`, and return a string as module output. } --------------------------------------------------------------------- -- Argument alias. local CANONICAL_NAMES = { ['titlestyle'] = 'title_style', ['listclass'] = 'list_class', ['groupstyle'] = 'group_style', ['collapsible'] = 'state', ['editlink'] = 'meta', ['editlinks'] = 'meta', ['editicon'] = 'meta', ['edit_link'] = 'meta', ['edit_links'] = 'meta', ['edit_icon'] = 'meta', ['navbar'] = 'meta', ['name'] = 'template', ['evenodd'] = 'striped', ['class'] = 'navbox_class', ['css'] = 'navbox_style', ['style'] = 'navbox_style', ['group'] = '1:group', ['list'] = '1:list', } local DEFAULT_ARGS = { ['meta'] = true, } local STATES = { ['no'] = '', ['off'] = '', ['plain'] = '', ['collapsed'] = 'mw-collapsible mw-collapsed', } local BOOL_FALSE = { ['no'] = true, ['off'] = true, ['false'] = true, } local STRIPED = { ['odd'] = 'striped-odd', ['swap'] = 'striped-odd', ['y'] = 'striped-even', ['yes'] = 'striped-even', ['on'] = 'striped-even', ['even'] = 'striped-even', ['striped'] = 'striped-even', } local NAVBOX_CHILD_INDICATOR = '!!C$H$I$L$D!!' local NAVBOX_CHILD_INDICATOR_LENGTH = string.len( NAVBOX_CHILD_INDICATOR ) local CLASS_PREFIX = 'ranger-' --------------------------------------------------------------------- local p = {} local h = {} -- non-public local hooks = mw.title.new('Module:Navbox/Hooks').exists and require('Module:Navbox/Hooks') or {} --------------------------------------------------------------------- -- For templates: {{#invoke:navbox|main|...}} function p.main(frame) local args = p.mergeArgs(frame) return p.build(args, true) end -- For modules: return require('module:navbox').build(args) -- By default this method will skip the arguments sanitizing phase -- (and onSanitizeArgsStart/onSanitizeArgsEnd hooks). -- Set `doParseArgs` to true to do arguments sanitizing. -- If `customConfig` table is provided, it will be merged into default config table (after onLoadConfig()). -- If `customHooks` table is provided, all default hook handles will be overrided, unprovided hooks will be empty. function p.build(args, doParseArgs, customConfig, customHooks) if customHooks then hooks = customHooks end if doParseArgs then args = h.parseArgs(args) end h.runHook('onLoadConfig', config, args) if customConfig then for k,v in pairs(customConfig) do config[k] = v end end --merge default args for k,v in pairs(DEFAULT_ARGS) do if args[k] == nil then args[k] = DEFAULT_ARGS[k] end end h.runHook('onBuildTreeStart', args) local dataTree = h.buildDataTree(args) h.runHook('onBuildTreeEnd', dataTree, args) if type(config.custom_render_handle) == 'function' then return config.custom_render_handle(dataTree, args) else return h.render(dataTree) end end -- merge args from frame and frame:getParent() -- It may be used when creating custom wrapping navbox module. -- -- For example, Module:PillNavbox -- -- local RANGER = require('Module:Navbox') -- local p = {} -- function p.main(frame) -- return RANGER.build(RANGER.mergeArgs(frame), true, { -- default_navbox_class = 'pill', -- use "pill" style by default. -- }) -- end -- return p -- function p.mergeArgs(frame) local inputArgs = {} for k, v in pairs(frame.args) do v = mw.text.trim(tostring(v)) if v ~= '' then inputArgs[k] = v end end for k, v in pairs(frame:getParent().args) do v = mw.text.trim(v) if v ~= '' then inputArgs[k] = v end end return inputArgs end ------------------------------------------------------------------------ function h.parseArgs(inputArgs) h.runHook('onSanitizeArgsStart', inputArgs) local args = {} for k, v in pairs(inputArgs) do if type(k) == 'string' then -- all named args have already been trimmed local key = h.normalizeKey(k) args[key] = h.normalizeValue(key, v) else args[k] = mw.text.trim(v) -- keep number-index arguments (for {{navbox|child|...}}) end end h.runHook('onSanitizeArgsEnd', args, inputArgs) return args end -- Normalize the name string of arguments. -- the normalized form is (index:)?name, in which: -- index is number index such as 1, 1.3, 1.2.45, -- name is in lowercase underscore-case, such as group, group_style -- e.g: header_state, 1.3:list_style -- the input argument name can be: -- * camel-case: listStyle, ListStyle -- * space separated: list style -- * prefix+index+postfix?, and can be in camel-case or space/hyphen separated or mixed: list 1 style, list1, list1Style, list1_style -- * index.name: 1.3.list -- * index_name: 1.3_list (Space separated are treated as underscore separated, therefore 1.3 list are vaild too) function h.normalizeKey(s) -- camel-case to lowercase underscore-case s = s:gsub('%l%f[%u]', '%0_') -- listStyle to list_style s = (s:gsub(' ', '_')):lower() -- space to underscore s = s:gsub('%l%f[%d]', '%0_') -- group1* to group_1* s = s:gsub('%d%f[%l]', '%0_') -- *1style to *1_style -- number format x_y_z to x.y.z s = s:gsub('(%d)_%f[%d]', '%1%.') -- move index to the beginning: -- group_1.2_style to 1.2:group_style -- group_1 to 1:group s = s:gsub('^([%l_]+)_([%d%.]+)', '%2:%1') -- support index.name and index_name: -- 1.2.group / 1.2_group to 1.2:group s = s:gsub('^([%d%.]+)[%._]%f[%l]', '%1:') -- now the key should be in normalized form, if the origin key is vaild -- standardize *_css to *_style s = s:gsub('_css$', '_style') -- standardize *collapsible to *state s = s:gsub('collapsible$', 'state') -- standardize all aliases to the canonical name return CANONICAL_NAMES[s] or s end function h.normalizeValue(k, v) k = tostring(k) if k:find('_style$') then v = (v .. ';'):gsub(';;', ';') return v elseif k:find('state$') then return STATES[v] elseif k == 'striped' then return STRIPED[v] elseif k == 'meta' then return not BOOL_FALSE[v] elseif v:sub(1, 2) == '{|' or v:match('^[*:;#]') then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. v ..'\n' end return v end -- parse arguments, convert them to structured data tree function h.buildDataTree(args) -- parse args to a tree local tree = h.buildTree(args) -- build root navbox data local data = h.buildNavboxData(tree.info) -- Recursively build section tree if tree.children then data.sections = h.buildSections(tree.children, { listClass = h.mergeAttrs(args.list_class, config.default_list_class), listStyle = args.list_style, groupClass = h.mergeAttrs(args.group_class, config.default_group_class), groupStyle = args.group_style, sectionClass = h.mergeAttrs(args.section_class, config.default_section_class), sectionStyle = args.section_style, headerClass = h.mergeAttrs(args.header_class, config.default_header_class), headerStyle = args.header_style, headerState = args.header_state or config.default_header_state, }) end if args[1] == 'child' then data.CHILD_MODE = true end return data end function h.buildSections(list, defaults) local sections = {} local section = nil for k, node in h.orderedPairs(list) do local info = node.info or {} --start a new section if needed if info.header or not section then section = { class = h.mergeAttrs(info.section_class, defaults.sectionClass), style = h.mergeAttrs(info.section_style, defaults.sectionStyle), body = {} } -- Section header if needed. -- If the value of a `|header_n=` is two or more consecutive "-" characters (e.g. --, -----), -- it means start a new section without header, and the new section will be not collapsable. if info.header and not string.match(info.header, '^%-%-+$') then section.header = { content = info.header, class = h.mergeAttrs(info.header_class, defaults.headerClass), style = h.mergeAttrs(info.header_style, defaults.headerStyle), } section.state = info.state or defaults.headerState or 'mw-collapsible' end sections[#sections+1] = section end -- above/below for this section if info.above then section.above = { content = info.above, class= h.mergeAttrs(info.above_class, config.default_above_class), style = info.above_style, } end if info.below then section.below = { content = info.below, class= h.mergeAttrs(info.below_class, config.default_below_class), style = info.below_style, } end -- this group+list row if info.group or info.list or node.children then local row = {} section.body[#section.body+1] = row if info.group then row.group = { content = info.group, class = h.mergeAttrs(info.group_class, defaults.groupClass), style = h.mergeAttrs(info.group_style, defaults.groupStyle), } end if info.list then if string.sub(info.list, 1, NAVBOX_CHILD_INDICATOR_LENGTH) == NAVBOX_CHILD_INDICATOR then -- it is from {{navbox|child| ... }} row.sections = mw.text.jsonDecode(string.sub(info.list, NAVBOX_CHILD_INDICATOR_LENGTH+1)) else row.list = { content = info.list, class = h.mergeAttrs(info.list_class, defaults.listClass), style = h.mergeAttrs(info.list_style, defaults.listStyle), } end end -- sub-nodes, will override {{navbox|child| ... }} if node.children then row.sections = h.buildSections(node.children, defaults) end end end -- flatten if needed: -- If a section has only one list with no content and no corresponding group but has sublists, these sublists will be moved to upper level. for _, sect in ipairs(sections) do if #sect.body == 1 then local node = sect.body[1] if not node.group and not node.list and node.sections and #node.sections == 1 and not node.sections[1].header then sect.body = node.sections[1].body end end end return sections end function h.buildNavboxData(info) local data = { state = info.state or 'mw-collapsible', -- here we need a default value for empty input striped = info.striped, class = h.mergeAttrs(info.navbox_class, config.default_navbox_class), style = info.navbox_style, } -- data for titlebar if info.title or info.meta or data.state ~= '' then data.title = { content = info.title, class = h.mergeAttrs(info.title_class, config.default_title_class), style = info.title_style, } if info.meta then data.metaLinks = { link = info.meta_link, -- will be used as [[$link|$text]] url = info.meta_url, -- will be used as [$url $text], only if there is no data.metaLinks.link text = info.meta_text, --hovertext } if not info.meta_link and not info.meta_url then -- default link target local title = mw.title.new(info.template or mw.getCurrentFrame():getParent():getTitle(), 'Template') if not title then error('Invalid title ' .. info.template) end data.metaLinks.link = title.fullText end if not info.meta_text then local msg = mw.message.new(config.editlink_hover_message_key) data.metaLinks.text = msg:exists() and msg:plain() or 'View or edit this template' end end end -- above/below if info.above then data.above = { content = info.above, class= h.mergeAttrs(info.above_class, config.default_above_class), style = info.above_style, } end if info.below then data.below = { content = info.below, class= h.mergeAttrs(info.below_class, config.default_below_class), style = info.below_style, } end return data end -- parse arguments, convert them into a tree based on their index -- each node on tree is { info = { #data for this node# }, children = {#children nodes#} } function h.buildTree(args, defaults) local tree = { info = {} } local check = function(key, value) local index, name = string.match(key, '^([%d%.]+):(.+)$') -- no number index found, for root node if not index then tree.info[key] = value return end -- filter invalid number index if string.match(index, '^%.') or string.match(index, '%.$') or string.match(index, '%.%.') then return end -- find the node that matches the index in the tree local arr = mw.text.split(index, '.', true) local node = tree for _, v in ipairs(arr) do v = tonumber(v) if not node.children then node.children = {} end if not node.children[v] then node.children[v] = { info = {} } end node = node.children[v] end node.info[name] = value end for k,v in pairs(args) do check(k, v) end return tree end function h.render(data) -- handle {{navbox|child|...}} syntax if data.CHILD_MODE then return NAVBOX_CHILD_INDICATOR..mw.text.jsonEncode(data.sections) end ----- normal case ----- local out = mw.html.create() -- build navbox container local navbox = out:tag('div') :attr('role', 'navigation'):attr('aria-label', 'Navbox') :addClass(CLASS_PREFIX..'navbox') :addClass(data.class) :addClass(data.striped) :addClass(data.state) :cssText(data.style) --title bar if data.title then local titlebar = navbox:tag('div'):addClass(CLASS_PREFIX..'title') titlebar:tag('div'):addClass('mw-collapsible-toggle-placeholder') if data.metaLinks then titlebar:node(h.renderMetaLinks(data.metaLinks)) end if data.title then titlebar:addClass(data.title.class):tag('div') :addClass(CLASS_PREFIX..'title-text') :addClass(data.title.class) :cssText(data.title.style) :wikitext(data.title.content) end end --above if data.above then navbox:tag('div') :addClass(CLASS_PREFIX..'above mw-collapsible-content') :addClass(data.above.class) :cssText(data.above.style) :wikitext(data.above.content) :attr('id', (not data.title) and mw.uri.anchorEncode(data.above.content) or nil) -- id for aria-labelledby attribute, if no title end -- sections if data.sections then h.renderSections(data.sections, navbox, 0, true) else -- Insert a blank section for completely empty navbox to ensure it behaves correctly when collapsed. if not data.above and not data.below then navbox:tag('div'):addClass(CLASS_PREFIX..'section mw-collapsible-content') end end --below if data.below then navbox:tag('div') :addClass(CLASS_PREFIX..'below mw-collapsible-content') :addClass(data.below.class) :cssText(data.below.style) :wikitext(data.below.content) end return tostring(out)..'[[Category:Pages with navboxes]]' -- suggest to use HIDDENCAT here; will be used for maintenance & gadget imports end function h.renderSections(data, container, level, even) for i,sect in ipairs(data) do --section box local section = container:tag('div') :addClass(CLASS_PREFIX..'section mw-collapsible-content') :addClass(sect.class) :addClass(sect.state) :cssText(sect.style) -- section header if sect.header then section:tag('div') :addClass(CLASS_PREFIX..'header') :addClass(sect.header.class) :cssText(sect.header.style) :tag('div'):addClass('mw-collapsible-toggle-placeholder'):done() :tag('div'):addClass(CLASS_PREFIX..'header-text'):wikitext(sect.header.content) end -- above: if sect.above then section:tag('div') :addClass(CLASS_PREFIX..'above mw-collapsible-content') :addClass(sect.above.class) :cssText(sect.above.style) :wikitext(sect.above.content) end -- body: groups&lists local box = section:tag('div'):addClass(CLASS_PREFIX..'section-body mw-collapsible-content') even = h.renderBody(sect.body, box, level, (level==0) and true or even) -- reset even status each section -- below: if sect.below then section:tag('div') :addClass(CLASS_PREFIX..'below mw-collapsible-content') :addClass(sect.below.class) :cssText(sect.below.style) :wikitext(sect.below.content) end end return even end function h.renderMetaLinks(info) local box = mw.html.create('span'):addClass(CLASS_PREFIX..'meta') local meta = box:tag('span'):addClass('nv nv-view') if info.link then meta:wikitext('[['..info.link..'|') :tag('span'):wikitext(info.text):attr('title', info.text):done() :wikitext(']]') elseif info.url then meta:wikitext('['..info.url..' ') :tag('span'):wikitext(info.text):attr('title', info.text):done() :wikitext(']') end return box end function h.renderBody(info, box, level, even) local count = 0 for _,v in h.orderedPairs(info) do if v.group or v.list or v.sections then count = count + 1 -- row container local row = box:tag('div'):addClass(CLASS_PREFIX..'row') -- group cell if v.group or (v.sections and level > 0 and not v.list) then local groupCell = row:tag('div') :addClass(CLASS_PREFIX..'group level-'..level) :addClass((level > 0) and CLASS_PREFIX..'subgroup' or nil) local groupContentWrap = groupCell:tag('div'):addClass(CLASS_PREFIX..'wrap') if v.group then groupCell:addClass(v.group.class):cssText(v.group.style) groupContentWrap:wikitext(v.group.content) else groupCell:addClass('empty') row:addClass('empty-group-list') end else row:addClass('empty-group') end -- list cell local listCell = row:tag('div'):addClass(CLASS_PREFIX..'listbox') if not v.list and not v.sections then listCell:addClass('empty') row:addClass('empty-list') end if v.list or (v.group and not v.sections) then --listCell:node(h.renderList(v['list'] or '', k, level, args)) even = not even -- flip even/odd status local cell = listCell:tag('div') :addClass(CLASS_PREFIX..'wrap') :addClass(even and CLASS_PREFIX..'even' or CLASS_PREFIX..'odd') if v.list then cell:addClass(v.list.class):cssText(v.list.style) :tag('div'):addClass(CLASS_PREFIX..'list'):wikitext(v.list.content) end end if v.sections then local sublistBox = listCell:tag('div'):addClass(CLASS_PREFIX..'sublist level-'..level) even = h.renderSections(v.sections, sublistBox, level+1, even) end end end if count > 0 then box:css('--count', count) -- for flex-grow end return even end -- pairs, but sort the keys alphabetically function h.orderedPairs(t, f) local a = {} for n in pairs(t) do table.insert(a, n) end table.sort(a, f) local i = 0 -- iterator variable local iter = function () -- iterator function i = i + 1 if a[i] == nil then return nil else return a[i], t[a[i]] end end return iter end -- For cascading parameters, such as style or class, they are merged in exact order (from general to specific). -- Any parameter starting with multiple hyphens(minus signs) will terminate the cascade. -- An example: -- For group_1.1, its style is affected by parameters |group_1.1_style=... , |subgroup_level_1_style=... , and |subgroup_style=... . -- If we have |group_1.1_style= color:red; |subgroup_level_1_style= font-weight: bold; and |subgroup_style= color: green; , -- the style of group_1.1 will be style="color:green; font-weight: bold; color: red;" ; -- if we have |group_1.1_style= -- color:red; |subgroup_level_1_style= font-weight: bold; and |subgroup_style= color: green; , -- the style of group_1.1 will be style="color: red;" only, and the cascade is no longer performed for |subgroup_level_1_style and |subgroup_style. function h.mergeAttrs(...) local trim = mw.text.trim local s = '' for i=1, select('#', ...) do local v = trim(select(i, ...) or '') local str = string.match(v, '^%-%-+(.*)$') if str then s = trim(str..' '..s) break else s = trim(v..' '..s) end end if s == '' then s = nil end return s end function h.runHook(key, ...) if hooks[key] then hooks[key](...) end end ----------------------------------------------- return p 184ca1a8a54c8fded465a77c9198da564fe29c6c Template:Navbox 10 82 121 2025-03-27T04:00:33Z RheingoldRiver 2743 Pushing 1.43-related updates to all wikis - please let us know at https://discord.gg/rTnST57tuW if you have questions or want to opt out wikitext text/x-wiki <includeonly>{{#invoke:Navbox|main}}</includeonly><noinclude>[[Category:Navigation templates]] {{documentation}}</noinclude> 11355a4514de8aa6c0ae686240591d267101c58c Template:Navbox/doc 10 83 122 2025-03-27T04:00:34Z RheingoldRiver 2743 Pushing 1.43-related updates to all wikis - please let us know at https://discord.gg/rTnST57tuW if you have questions or want to opt out wikitext text/x-wiki {{no direct use}} {{UsesLua|Navbox}} This template is designed to set up navigational templates relatively quickly with one or more lists of links. We highly recommend using this template for standardizing navigational templates and ease of use, especially for mobile devices. See [[support:RANGER navboxes|the support wiki]] for more information, including installation steps and further examples. == Basic example == The following example demonstrates the core functionality of this template: the title text, one standard link group, and one link group that contains two sub-groups. The rows are striped for easier readability. {{Navbox | title = Items | striped = even | group1 = Consumables | list1 = * Health Potion * Mana Potion | group2 = Weapons | group2.1 = Swords | list2.1 = * Wooden Sword * Rusted Sword * Steel Sword | group2.2 = Bows | list2.2 = * Shortbow * Crossbow * Longbow }} <syntaxhighlight lang="wikitext" style="overflow: auto;"> {{Navbox | template = <template_title> <!-- Required. e.g. `|template=Items` for template:Items --> | title = Items | striped = even | group1 = Consumables | list1 = * Health Potion * Mana Potion | group2 = Weapons | group2.1 = Swords | list2.1 = * Wooden Sword * Rusted Sword * Steel Sword | group2.2 = Bows | list2.2 = * Shortbow * Crossbow * Longbow }} </syntaxhighlight> == Parameters == === Main === The following parameters modify the navbox as a whole. {| class="wikitable" ! Parameter ! Description |- ! <code>template</code><br><code>name</code> | ('''Required''') Title of the template that the edit icon links to. e.g. <code>Items</code> for template:Items. |- ! <code>title</code> | Text that appears at the top of the navbox. |- ! <code>state</code><br><code>collapsible</code> | Controls if a navbox should be expanded or collapsed when the page loads. This only affects the whole navbox; if [[#Sections|sections]] are used, they are treated differently. * <code>expanded</code> ('''default''') - the navbox will start open and readers can collapse it. * <code>collapsed</code> - the navbox will start closed and readers can expand it. * <code>off</code>, <code>no</code>, or <code>plain</code> - the navbox will start open and cannot be collapsed. Advanced users can modify this on a page-by-page basis; see [[support:RANGER navboxes#Controlling the collapsible|the support wiki]] for more information. |- ! <code>editlinks</code> | Controls if an edit icon should be displayed at the top-left of the navbox, making it easier for users to interact with the template itself. * unset ('''default''') - displays the edit icon * <code>off</code> or <code>no</code> - hides the edit icon |- ! <code>above</code> | Text that appears above all list groups, directly below the title. |- ! <code>below</code> | Text that appears below all list groups, at the bottom of the navbox. |- ! <code>striped</code><br><code>evenodd</code> | Controls if the navbox rows should have zebra striping on even or odd rows, making it easier for users to distinguish two rows apart from each other. If [[#Sections|sections]] are used, each section resets the even/odd counter. *unset ('''default''') - all rows have the same background *<code>y</code>, <code>yes</code>, <code>on</code>, <code>striped</code>, or <code>even</code> - even-numbered rows are highlighted *<code>swap</code> or <code>odd</code> - odd-numbered rows are highlighted |} === Sections === The following parameters define sections within the navbox with their own titles. {| class="wikitable" ! Parameter ! Description |- ! <code>header''n''</code> | Text that appears at the top of the section, where ''n'' is any positive integer. If the value is set to two or more <code>-</code> (e.g. <code>--</code>, <code>-----</code>, etc.) the new section will have no header bar and cannot be collapsed. All groups and lists that are ''n'' or higher will appear in this section unless there is a higher <code>header''n''</code> later in the template. For example, if a navbox defines <code>header1</code> and <code>header4</code>, the first section will include <code>list1</code>, <code>list2</code>, and <code>list3</code> (and any of their sub-lists), while the second section will include all remaining lists starting at <code>list4</code> and their sub-lists. |- ! <code>header_state</code><br><code>state''n''</code> | <code>header_state</code> controls if all sections, by default, should be expanded or collapsed when the page loads. <code>state''n''</code> overrides <code>header_state</code> for the specific section defined by <code>header''n''</code> (where ''n'' is a matching integer). * <code>expanded</code> ('''default''') - the section will start open and readers can collapse it. * <code>collapsed</code> - the section will start closed and readers can expand it. * <code>off</code> or <code>plain</code> - the section will start open and cannot be collapsed. Advanced users can modify these on a page-by-page basis; see [[support:RANGER navboxes#Controlling the collapsible|the support wiki]] for more information. Both parameters have no effect on sections with headers set to two or more <code>-</code>, which are always expanded and cannot be collapsed. |} === List groups === The following parameters define the list groups. {| class="wikitable" ! Parameter ! Description |- ! <code>group''n''</code> | Text label for a list, which appears on the left on desktop or at the top on mobile, where ''n'' is any positive integer. This parameter is optional; if a <code>list''n''</code> does not have a matching <code>group''n''</code>, the list will take the full width on desktop. |- ! <code>list''n''</code> | A wikitext list, where ''n'' is any positive integer. |- ! <code>group''n''.''x''</code><br><code>group''n''.''x''.''y''</code><br>etc. | Text label for sub-lists that appear under <code>group''n''</code>, <code>group''n''.''x''</code>, etc. |- ! <code>list''n''.''x''</code><br><code>list''n''.''x''.''y''</code><br>etc. | Wikitext sub-lists. |} === Styling === The following parameters add inline styling or your custom CSS classes to specific elements of the navbox. To assist with text alignment, three default classes are available: <code>align-left</code>, <code>align-center</code>, and <code>align-right</code>. {| class="wikitable" ! Parameter ! Description |- ! <code>navbox_style</code><br><code>navbox_class</code> | Modifies the parent navbox element; <code>class</code> can be used as a shorthand for <code>navbox_class</code> Two default classes are available: *<code>pill</code> changes the links to pill-styled rather than dot-separated *<code>pill-mobile</code> only changes the links to pill-styled on mobile devices |- ! <code>title_style</code><br><code>title_class</code> | Modifies the title bar |- ! <code>above_style</code><br><code>above_class</code> | Modifies the <code>above</code> text row |- ! <code>below_style</code><br><code>below_class</code> | Modifies the <code>below</code> text row |- ! <code>header_style</code><br><code>header_class</code> | Modifies all section headers (''not'' the title bar) |- ! <code>header''n''_style</code><br><code>header''n''_class</code> | Modifies the specific section header ''n'' |- ! <code>section''n''_style</code><br><code>section''n''_class</code> | Modifies the container holding the section defined by a matching <code>header''n''</code> |- ! <code>group_style</code><br><code>group_class</code> | Modifies all base groups (<code>group''n''</code>), but ''not'' any subgroups (<code>group''n''.''x''</code>, etc.) |- ! <code>subgroup_style</code><br><code>subgroup_class</code> | Modifies all subgroups at all levels (<code>group''n''.''x''</code>, <code>group''n''.''x''.''y''</code>, etc.) |- ! <code>group''A''_style</code><br><code>group''A''_class</code> | Modifies the specific group ''A'', where ''A'' is any ''n'', ''n''.''x'', ''n''.''x''.''y'', etc. |- ! <code>list_style</code><br><code>list_class</code> | Modifies all lists. Note, in this context, "list" refers to the container of a <code>list''n''</code> parameter, not a <code>ul</code> or <code>ol</code> element inside the parameter |- ! <code>list''A''_style</code><br><code>list''A''_class</code> | Modifies the specific list ''A'', where ''A'' is any ''n'', ''n''.''x'', ''n''.''x''.''y'', etc. |} <noinclude>[[Category:Template documentation]]</noinclude> e35c990efd00644e63b9735d72ff65818357a1fb